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


What files of Laravel Elixir are necessary on production server?

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

然后在生产阶段,我将所有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来减轻生产空间。

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

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

这是我的解决方案:

  • 选项1:若您有npm并在服务器上狼吞虎咽。在本地机器上,执行npm shrinkwrap,然后推送package.json、gullfile.js、npm-shrinkwrap.json,resources/assets/(js|sass(。在服务器网站根目录中,执行npm installgulp --production
  • 选项2:不需要npm或在服务器上狼吞虎咽。只需在本地执行gulp --production并将public/build/*推送到服务器即可。如果没有使用Elixir版本控制,请改为推送public/(js|css(。resources/assets(js|css(和所有npm-gull的东西都可以从服务器上保存

在这两种情况下都不需要CCD_ 13
我使用了选项2,更容易,对我来说效果很好。