Javascript 仅在“prod”模式下运行网页包优化
我已经实现了一个webpack项目,其中我使用Javascript 仅在“prod”模式下运行网页包优化,javascript,webpack,build,Javascript,Webpack,Build,我已经实现了一个webpack项目,其中我使用TerserPlugin作为webpack中的优化器。当我使用以下命令运行webpack dev server时,我在终端中看到,即使在开发模式下也会发生更简洁的优化 "start": "run-script-os", "start:win32": "..\\..\\node_modules\\.bin\\webpack-dev-server --env.NODE_ENV=local --mode development --inline --hot
TerserPlugin
作为webpack中的优化器。当我使用以下命令运行webpack dev server
时,我在终端中看到,即使在开发模式下也会发生更简洁的优化
"start": "run-script-os",
"start:win32": "..\\..\\node_modules\\.bin\\webpack-dev-server --env.NODE_ENV=local --mode development --inline --hot --open",
"start:default": "../../node_modules/.bin/webpack-dev-server --env.NODE_ENV=local --mode development --inline --hot --open",
控制输出
[WDS] 92% - chunk asset optimization.
[WDS] 92% - chunk asset optimization (TerserPlugin).
[WDS] 93% - after chunk asset optimization.
[WDS] 93% - after chunk asset optimization (SourceMapDevToolPlugin).
[WDS] 93% - asset optimization.
[WDS] 94% - after asset optimization.
[WDS] 94% - after seal.
[WDS] 95% - emitting.
优化器选项上的网页包配置
optimization: {
minimize: true,
nodeEnv: 'production',
minimizer: [
new TaserJSPlugin({
terserOptions: {
keep_fnames: true
}
})
]
}
在关闭优化的情况下,在开发模式下运行dev服务器的正确方法是什么?因为它只处于开发模式,所以我不需要缩小代码
这种方法背后的原因是
[WDS]92%区块资产优化(TerserPlugin)。
步骤需要一点时间才能完成,因此我必须等待它完成。有什么想法吗 有条件地添加您想要的优化。在以下代码中,当NODE_ENV
设置为production
时,只有TaserJSPlugin
才会用于构建
const isProd=process.env.NODE_env==“生产”;
...
最小值:[
isProd&新的TaserJSPlugin({
三种选择:{
保持沉默:对
}
})
].filter(布尔值)
...
请注意,如果数组中存在任何无效值,webpack可能会出错。所以我们把它过滤掉