拼接和压缩
文件拼接和压缩#
mix.combine(['src', 'files'], 'destination');
mix.babel(['src', 'files'], destination);
mix.minify('src');
mix.minify(['src']);
如果使用得当,Laravel Mix 和 webpack 应该负责所有必要的模块捆绑和压缩。但是,你可能有一些遗留代码或第三方库需要拼接和压缩,这并不是一个问题。
拼接文件#
考虑下面的代码片段:
mix.combine(['one.js', 'two.js'], 'merged.js');
这自然会合并 one.js
和 two.js
到一个名为 merged.js
的文件。与往常一样,在开发期间,合并文件将保持未压缩状态。但是,对于生产 (export NODE_ENV=production
),这个命令将会压缩 merged.js
。
拼接文件与 Babel 编译。#
如果需要组合使用 ES2015 方法编写的 JavaScript 文件,你可以更新你的 mix.combine()
调用 mix.babel()
。方法签名相同。唯一的区别是,在将文件拼接之后,Laravel Mix 将对结果进行 Babel 编译,从而将代码转换成所有浏览器都能理解的 JavaScript 代码。
mix.babel(['one.js', 'two.js'], 'merged.js');
压缩文件#
同样,你也可以使用 mix.minify()
命令压缩一个或多个文件。
mix.minify('path/to/file.js');
mix.minify(['this/one.js', 'and/this/one.js']);
这里有几点值得注意:
- 该方法将创建一个额外的
*.min.ext
文件。因此,压缩app.js
将生成app.min.js
。 - 再一次声明,压缩只会在生产过程中发生。(
export NODE_ENV=production
)。 - 不需要调用
mix.combine(['one.js', 'two.js'], 'merged.js').minify('merged.js');
,只使用单一的mix.combine()
调用。它会兼顾两者.
重要:请注意,压缩只适用于 CSS 和 JavaScript 文件。minifier 不理解任何其他提供的文件类型。
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: