这个不得不说起webpack DefinePlugin插件,它允许您创建在编译时配置的全局常量。其中process.env.NODE_ENV替换为字符串字面量同时可以让UglifyJS之类的压缩工具完全丢掉仅供开发环境的代码块,以减少最终的文件大小。
在webpack 4+中,你可以使用mode选项:
module.exports = {
mode: 'production'
}
Webpack4模式(mode)及production内置优化说到:
可以看出最终还是DefinePlugin插件在起作用。所以DefinePlugin插件完全可以做到忽略webpack4+的mode选项。
但是在webpack 3及其更低版本中没有mode选项,你需要手动使用 DefinePlugin:
var webpack = require('webpack')
module.exports = {
// ...
plugins: [
// ...
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production')
}
})
]
}