Quais arquivos do Laravel Elixir são necessários no servidor de produção?

9

Introdução: Gulp assiste meus arquivos css / js até o modo de desenvolvimento na minha máquina local.

Em seguida, no estágio de produção, eu carrego todo o projeto laravel no servidor de produção (ao vivo).

Problema: Com todo esse material gole e elixir instalado, o projeto laravel se torna muito pesado.

Pergunta: Quais arquivos do diretório node_modules eu preciso exatamente carregar com o projeto no servidor de produção para fazer o Elixir funcionar bem?

Quero dizer, incluir all.css e all.js arquivos por

<link rel="stylesheet" href="{{ elixir('css/all.css') }}">

Talvez não seja necessário carregar todos eles?

    
por Alliswell 01.08.2015 в 07:16
fonte

2 respostas

1

Você não precisa se preocupar em incluir arquivos do diretório node_modules ; você pode pensar naquelas como dependências semelhantes ao diretório vendor do seu projeto php.

Você só precisará incluir os arquivos no diretório public/* para ter visualizações de trabalho se estiver usando os caminhos e a configuração padrão para compilar recursos. Você pode ver um bom exemplo disso na seção Scripts da documentação do Elixir .

  

O método scripts considera que todos os caminhos são relativos ao diretório resources / assets / js e colocará o JavaScript resultante em public / js / all.js por padrão:

     

elixir(function(mix) { mix.scripts([ 'jquery.js', 'app.js' ]); });

Como uma nota lateral, eu pessoalmente não recomendaria criar este tipo de separação porque o projeto parece pesado . Se você tem um tamanho de projeto muito grande, provavelmente não deve ser devido a css e js. Você também pode considerar usar um cdn para clarear o espaço de produção, se necessário.

    
por jlaswell 08.08.2015 / 15:44
fonte
1

Eu me deparei com o mesmo problema. Meu gulpfile.js tem

mix.sass('app.scss');
mix.browserify('app.js');
mix.version(['css/app.css', 'js/app.js']);

Estas são minhas soluções:

  • Opção 1: Se você tiver npm e gulp no servidor. Na máquina local, faça npm shrinkwrap , em seguida, envie pacote.json, gulpfile.js, npm-shrinkwrap.json, recursos / recursos / (js | sass). Na raiz do site do servidor, npm install e gulp --production
  • Opção 2: Não é necessário npm ou gulp no servidor. Apenas faça gulp --production no local e envie public / build / * para o servidor. Se o controle de versão do Elixir não for usado, pressione public / (js | css). recursos / ativos (js | css) e todo o material npm gulp podem ser mantidos no servidor.

node_modules não é necessário em nenhum dos casos.
Eu usei a opção 2, muito mais fácil e funcionou bem para mim.

    
por Fei 24.04.2016 / 08:41
fonte