webpack3升級到webpack4遇到問題總結

 更新時間:2019年09月30日 10:16:02   作者:haru   我要評論
這篇文章主要介紹了webpack3升級到webpack4遇到問題總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

最近由于項目需要,需要對已有的兩個vue項目進行webpack3升級到webpack4,此處記錄一下整個升級過程的幾個重要步驟,以及遇到的問題和解決方案。

1、更新webpack以及相關聯插件,webpack4新增插件webpack-cli

npm i -D webpack webpack-cli webpack-dev-server webpack-merge

2、運行npm run dev,報錯:Error: webpack.optimize.CommonsChunkPlugin has been removed, please use config.optimization.splitChunks instead.

原因:webpack.optimize.CommonsChunkPlugin 已廢棄,修改為webpack.optimize.SplitChunksPlugin

3、運行報錯:Error: Plugin could not be registered at 'html-webpack-plugin-before-html-processing'. Hook was not found.

原因:webpack升級,html-webpack-plugin未匹配

解決方案:升級html-webpack-plugin插件

升級插件到 html-webpack-plugin: “^3.2.0”版本,再次運行,報錯


原因:項目中自定義由于需要,需要對每一個打包好的html模版都插入一段js,所以基于html-webpack-plugin自定義了一段插件代碼,但是該代碼需要根據webpack4重新處理一下,參考官網:https://github.com/jantimon/h...

解決:

第一步:升級插件 npm i -D [email protected]
第二部修改自定義代碼部分,如圖:

4、運行報錯:Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead


原因:Since webpack v4 the extract-text-webpack-plugin should not be used for css. Use mini-css-extract-plugin instead.

解決: npm install [email protected]

只更新extract-text-webpack-plugin可能沒用,最好更新成mini-css-extract-plugin,具體可看第6步

5、報錯:TypeError: Cannot read property 'vue' of undefined

原因:更新webpack,未更新vue-loader

解決:npm i -D vue-loader

注意:webpack4需要在配置中加入插件的引用才會生效

const VueLoaderPlugin = require('vue-loader/lib/plugin');
//配置中加入
plugins: [
  new VueLoaderPlugin()
],

6、報錯

切換為mini-css-extract-plugin

7、視情況更新

"vue-style-loader": "^4.1.2",
"vue-template-compiler": "^2.6.10”,
"html-webpack-exclude-assets-plugin": "0.0.7",
"html-webpack-inline-chunk-plugin": "^1.1.1",

8、刪除


在配置中加入

9、BaseClient.js?e917:12 Uncaught TypeError: Cannot assign to read only property 'exports' of object ‘#
npm run dev不報錯,但是在瀏覽器打開,控制臺報錯


原因,webpack4之后,不允許混用 exports和import

解決: 修改include部分為下邊這樣

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

北京pk赛车人工计划软件手机版