繁体   English   中英

生产服务器上需要哪些Laravel Elixir文件?

[英]What files of Laravel Elixir are necessary on production server?

简介: Gulp在我的本地机器上观察我的css / js文件直到开发模式。

然后在生产阶段,我在生产(实时)服务器上上传所有laravel项目。

问题:随着所有gulp和elixir安装的laravel项目变得非常沉重。

问题:我需要在生产服务器上使用项目加载node_modules目录的哪些文件才能使Elixir正常工作?

我的意思是包括all.cssall.js文件

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

也许没有必要加载所有这些?

您不必担心包含node_modules目录中的任何文件; 您可以将这些视为与您的php项目的vendor目录类似的依赖项。

您只需要将文件包含在public/*目录中,以便在使用默认路径和配置来编译资产时获得工作视图。 你可以在Elixir文档Scripts部分看到一个很好的例子。

scripts方法假设所有路径都相对于resources / assets / js目录,并且默认情况下将生成的JavaScript放在public / js / all.js中:

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

作为旁注,我个人不建议创建这种分离,因为项目似乎很重 如果您的项目规模非常大,则很可能不应该归因于css和js。 如果需要,您还可以考虑使用cdn来减轻生产空间。

我遇到了同样的问题。 我的gulpfile.js有

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

这是我的解决方案:

  • 选项1:如果你在服务器上有npm和gulp。 在本地机器上,执行npm shrinkwrap shrinkwrap,然后按package.json,gulpfile.js,npm-shrinkwrap.json,resources / assets /(js | sass)。 在服务器网站root中,执行npm installgulp --production
  • 选项2:服务器上不需要npm或gulp。 只需在本地执行gulp --production并将public / build / *推送到服务器。 如果未使用Elixir版本控制,请改为public /(js | css)。 资源/资产(js | css)和所有npm gulp东西都可以保存在服务器上。

在任何一种情况下都不需要node_modules
我使用选项2,更容易,对我来说很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM