1. 程式人生 > 程式設計 >webpack中的模式(mode)使用詳解

webpack中的模式(mode)使用詳解

模式(mode)

提供 mode 配置選項,告知 webpack 使用相應模式的內建優化。

用法

只在配置中提供 mode 選項:

module.exports = {
 mode: 'production'
};
 

或者從 CLI 引數中傳遞:

webpack --mode=production

支援以下字串值:

1.development

會將 process.env.NODE_ENV 的值設為 development。啟用 NamedChunksPlugin 和 NamedModulesPlugin。

// webpack.development.config.js
module.exports = {
+ mode: 'development'
- plugins: [
-  new webpack.NamedModulesPlugin(),-  new webpack.DefinePlugin({ "process.env.NODE_ENV": JSON.stringify("development") }),- ]
}
 

2.production

會將 process.env.NODE_ENV 的值設為 production。啟用 FlagDependencyUsagePlugin,FlagIncludedChunksPlugin,ModuleConcatenationPlugin,NoEmitOnErrorsPlugin,OccurrenceOrderPlugin,SideEffectsFlagPlugin 和 UglifyJsPlugin.

// 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()
- ]
}
 

production模式下會啟用UglifyJsPlugin外掛(移除未使用的內容和檔案壓縮),分別用production和development打包,編譯的區別:

1.development打包後,一些沒有依賴的方法 變數 檔案會保留,production則會移除。

2.production打包後,程式碼會進行壓縮,比development的檔案小。

到此這篇關於webpack中的模式(mode)使用詳解的文章就介紹到這了,更多相關webpack 模式內容請搜素我們以前的文章或下面相關文章,希望大家以後多多支援我們!