记录一次webpack3升级到webpack4过程
? ? ? ?升級之前也參考了一些網(wǎng)上的教程。借鑒之,進(jìn)行的自己的升級。一些版本為什么設(shè)為那個版本號也是參考別人的結(jié)果。
? ? ? ?整體是按照先升級npm run dev;在升級npm run build的順序。
? ? ? ?首先升級webpack,在package.json文件中將webpack版本號修改為4.8.1。
"webpack": "^4.8.1",之后npm run dev,報錯
? ? ?解決的辦法是
"webpack-dev-server": "^3.1.4",繼續(xù)npm run dev?
? ? 很明顯這是沒有安裝webpack-cli,安裝webpack
"webpack-cli": "^3.3.7",繼續(xù)npm run dev
? ? ? 因為項目運用了DllReferencePlugin,升級之后需要重新生成dll文件。之后因為webpack4自身已經(jīng)移除了uglifyjsplugin所以不能用了,改用下面插件進(jìn)行代碼壓縮。
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');修復(fù)后,npm run dev
? ? ? ?解決方案升級?html-webpack-plugin
"html-webpack-plugin": "^3.2.0",? ? ? webpack4 需要使用vue-loader 15.0.0 至少。所以升級vue-loader
"vue-loader": "^15.0.10",? 注意vue-loader需要以插件的形式寫在webpack配置項plugin里面。
const { VueLoaderPlugin } = require('vue-loader') webpack:{....,plugins: [new VueLoaderPlugin(),.....] }ok,npm run dev升級完畢。
? ? 注意這里版本號雖然,如上來寫,但需要劉杰"^"這個符號的意義,意義是大版本號不變,中間版本號會自動下載最新的。還有一個符號"~",是只小版號變化。
? ? 然后升級npm run build。
? ? webpack 4 不能再用extract-text-webpack-plugin,大多數(shù)教程推薦使用mini-css-extract-plugin,這個可以百度。用這個插件替換build環(huán)境的extract-text-webpack-plugin即可。
? ? 其他:升級過程中還出現(xiàn)的問題有
? ? ? 這是因為eslint需要升級,升級到eslint-loader
"eslint-loader": "^2.0.0",
? ? ? 這是因為使用了elment-ui,當(dāng)升級到2.11.x時候會出現(xiàn)這個錯誤,這個錯誤最終沒有解決, 只有降級element-ui版本。
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhensg123/p/11412679.html
總結(jié)
以上是生活随笔為你收集整理的记录一次webpack3升级到webpack4过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQLServer、Mysql、Orac
- 下一篇: Nexus下载失败解决方案