Skip to content

其它工作构建版本 ​

本节目标:理解“其它工作构建版本”的核心思路,并能把它用于实际开发或面试表达。 Brunch 通过安装 terser-brunch 插件,来获得最高效的 Brunch 生产构建:

如果你使用 npmnpm install --save-dev terser-brunch ​

如果你使用 Yarnyarn add --dev terser-brunch ​

接着,在 build 命令后添加 -p 参数,以创建生产构建: brunch build -p 请注意,你只需要在生产构建时这么做。你不需要在开发环境中使用 -p 参数或者应用这个插件,因为这会隐藏有用的 React 警告信息并使得构建速度变慢。

Browserify 为了最高效的生产构建,需要安装一些插件:

如果你使用 npmnpm install --save-dev envify terser uglifyify ​

如果你使用 Yarnyarn add --dev envify terser uglifyify ​

为了创建生产构建,确保你添加了以下转换器 (顺序很重要):

[envify](https://github.com/hughsk/envify) 转换器用于设置正确的环境变量。设置为全局 (-g)。
[uglifyify](https://github.com/hughsk/uglifyify) 转换器移除开发相关的引用代码。同样设置为全局 (-g)。
最后,将产物传给 [terser](https://github.com/terser-js/terser) 并进行压缩([为什么要这么做?](https://github.com/hughsk/uglifyify#motivationusage))。

举个例子: browserify ./index.js \ -g [ envify --NODE_ENV production ] \ -g uglifyify \ | terser --compress --mangle > ./bundle.js 请注意,你只需要在生产构建时用到它。你不需要在开发环境应用这些插件,因为这会隐藏有用的 React 警告信息并使得构建速度变慢。 Rollup 为了最高效的 Rollup 生产构建,需要安装一些插件:

如果你使用 npmnpm install --save-dev rollup-plugin-commonjs rollup-plugin-replace rollup-plugin-terser ​

如果你使用 Yarnyarn add --dev rollup-plugin-commonjs rollup-plugin-replace rollup-plugin-terser ​

为了创建生产构建,确保你添加了以下插件 (顺序很重要):

[replace](https://github.com/rollup/rollup-plugin-replace) 插件确保环境被正确设置。
[commonjs](https://github.com/rollup/rollup-plugin-commonjs) 插件用于支持 CommonJS。
[terser](https://github.com/TrySound/rollup-plugin-terser) 插件用于压缩并生成最终的产物。
plugins: [  // ...  require('rollup-plugin-replace')({    'process.env.NODE_ENV': JSON.stringify('production')  }),  require('rollup-plugin-commonjs')(),  require('rollup-plugin-terser')(),  // ...]
[点击](https://gist.github.com/Rich-Harris/cb14f4bc0670c47d00d191565be36bf0)查看完整的安装示例。
请注意,你只需要在生产构建时用到它。你不需要在开发中使用 terser 插件或者 replace 插件替换 'production' 变量,因为这会隐藏有用的 React 警告信息并使得构建速度变慢。

本站总访问 — 次