webpack4.0新特新總覽
- 環境
不再支援nodejs4及以下版本,原始碼已經更新到更高的es版本
- 用法
- 現在你必須在(mode 或 --mode)選擇其中之一,分別代表了生產環境和開發環境
- 生產環境允許各種優化手段去生成更優的bundle
- 開發環境允許註釋以及提示並且允許使用eval devtool
- 生產環境不支援檔案監視, 開發環境做了更快構建的優化
- 生產環境允許使用scope hoisting
- process.env.NODE_ENV 會被設定成開發環境或者生產環境(僅在build所生成的程式碼中)
- node模式將會禁止所有東西
- 語法
- import()總是會返回一個名稱空間物件,commonJS模組被包裹在預設的匯出中
- 如果你用commonJS語法使用import(), 這個可能會中斷你的程式碼
- 配置
- 你不再需要下面這些外掛
- NoEmitOnErrorsPlugin->optimization.noEmitOnErrors 預設會在生產環境中被匯入
- ModuleConcatenationPlugin->optimization.concatenateModules 預設在生產環境中匯入
- NamedModulesPlugin -> optimization.namedModules 預設在開發環境中匯入
- CommonsChunkPlugin被移除,變為optimization.splitChunks, optimization.runtimeChunk
- 你不再需要下面這些外掛
- JSON
- webpack現在自帶處理JSON外掛
- 你在通過loader將JSON轉換給js的時候,可能需要增加type: "javascript/auto"
- 不帶loader使用JSON應該仍然可以工作
- 允許通過js語法匯入json
- webpack現在自帶處理JSON外掛
- 優化
- 更新uglifyjs-webpack-plugin到v1