本文共 672 字,大约阅读时间需要 2 分钟。
为了解决开发环境和生产环境之间的差异,采用webpack打包前端项目时,会分离生产环境和开发环境的配置。我们尽可能的在生产环境的配置中提高生产版本代码的效率(压缩,混淆),但是,我们引用的第三方库也有生产环境和开发环境的区分,如同jQuery有正常版和min版,那么要怎么配置,才能让我们所引用的第三方库也是生产版本呢?
我们讨论的范围是引入的node模块,相关代码大致如下:
node中有一个潜规则,模块以全局的process.env.NODE_ENV是否为production区分生产环境,webpack可以定义同样的全局变量,让第三方node模块知道要在生产环境中进行构建。
const webpack = require('webpack');module.exports = { plugins: [ new webpack.DefinePlugin({ 'process.env': { 'NODE_ENV': JSON.stringify('production') } }) ]}
该优化方案最坏就是不起优化作用,但是可能带来的好处是很大的。因为我们都知道前端的js库,生产版本和开发版本的size的差别是很大的,尤其是一些明确说自己是小巧型的库。
建议:生产环境一定都加上。
转载于:https://blog.51cto.com/dkjc007/2053922