提供 mode
配置选项,告知 webpack 使用相应模式的内置优化。
用法
只在配置中提供 mode
选项:
module.exports = { mode: 'production' }; // 或者从CLI 参数中传递 webpack --mode=production
- development:会将
process.env.NODE_ENV
的值设为development
。启用NamedChunksPlugin
和NamedModulesPlugin
。 - production:会将
process.env.NODE_ENV
的值设为production
。启用FlagDependencyUsagePlugin,
FlagIncludedChunksPlugin,
ModuleConcatenationPlugin,
NoEmitOnErrorsPlugin,
OccurrenceOrderPlugin,
SideEffectsFlagPlugin
和UglifyJsPlugin。
只会设置 NODE_ENV,不会自动设置 mode。
// mode: development // webpack.development.config.js module.exports = { + mode: 'development' - plugins: [ - new webpack.NamedModulesPlugin(), - new webpack.DefinePlugin({ "process.env.NODE_ENV": JSON.stringify("development") }), - ] } // mode: production // webpack.production.config.js module.exports = { + mode: 'production', - plugins: [ - new UglifyJsPlugin(/* ... */), - new webpack.DefinePlugin({ "process.env.NODE_ENV": JSON.stringify("production") }), - new webpack.optimize.ModuleConcatenationPlugin(), - new webpack.NoEmitOnErrorsPlugin() - ] }