Laravel Elixir:如何缩小文件?

Laravel Elixir: How to minify files?

我想使用 Laravel Elixir 来缩小我的 css/files 文件。但我不想使用混合方法并合并它们。我只想从我原来的 "custom.js" 生成一个 "custom.min.js" 文件。有没有办法用 Elexir 做到这一点?

编辑: 为了更清楚一点:我最大的问题是我在 "resources/assets" 中有两个文件夹:js 和 css。所以我基本上想缩小那里的所有文件,并在 "public/js" 和 "public/css".

中缩小它们

引自Laravel documentation

Note: All tasks will assume a development environment, and will exclude minification. For production, use gulp --production.

这意味着如果您希望将文件缩小 运行 gulp --production 而不仅仅是 gulp。这比直接在 gulp 文件中启用压缩更好,并确保您可以在开发应用程序时调试编译后的文件。

如果您希望将它们放在 public/assets/css 中,请使用路径作为第二个参数:

mix.less('app.less', 'public/assets/css');

gulp --生产.

Jeffrey way 在此问题上回复:https://laracasts.com/discuss/channels/elixir/elixir-doesnt-minify

或者您可以在文档中找到它。享受编码吧!

如果您只想复制 .css 个文件,而不使用 LESS 或 SASS,并且不想合并文件(即您想要类似 copy() 的方法缩小能力)你可以使用组合方法,styles(),通过为每个 .css 文件调用它并传递不带数组的文件名字符串,例如:

mix.styles('some.css');
mix.styles('node_modules/bootstrap/dist/css/bootstrap.css', null, './');

可以使用 scripts() 方法对 .js 文件执行相同的操作:

mix.scripts('some.js');
mix.scripts('node_modules/bootstrap/dist/js/bootstrap.js', null, './');

然后您可以使用 gulp(不缩小,创建 .map 文件)或 gulp --production(创建缩小的文件),如上述帖子所述。

直接来自 Laravel/Elixir 文档:

Elixir is built on top of Gulp, so to run your Elixir tasks you only need to run the gulp command in your terminal. Adding the --production flag to the command will instruct Elixir to minify your CSS and JavaScript files:

Run all tasks... gulp

Run all tasks and minify all CSS and JavaScript... gulp --production

文档:https://laravel.com/docs/5.3/elixir#running-elixir