antd v4版本出來有一段時間了者疤,今天打算升個級苫纤。
參考官方文檔升級說明
1.升級準備
- 先升級到 3.x 的最新版本,按照控制臺 warning 信息移除/修改相關(guān)的 API吱肌。
- 升級項目 React 16.12.0 以上
- 如果你仍在使用 React 15痘拆,請參考 React 16 升級文檔。
- 其余 React 16 廢棄生命周期 API 請參考 遷移導(dǎo)引氮墨。
2.開始升級
可以手動對照上面的列表逐條檢查代碼進行修改纺蛆,但是沒必要哇~
官方提供了一個 codemod cli 工具 @ant-design/codemod-v4 可以快速升級到到 v4 版本。
在運行 codemod cli 前规揪,務(wù)必先提交你的本地代碼修改桥氏。否則升級不成功
# 通過 npx 直接運行
npx -p @ant-design/codemod-v4 antd4-codemod src
# 或者全局安裝
# 使用 npm
npm i -g @ant-design/codemod-v4
# 或者使用 yarn
yarn global add @ant-design/codemod-v4
我采用的是全局安裝的方式
安裝完成工具后,運行工具。命令如下猛铅,src是你需要升級的項目page目錄
# 運行
antd4-codemod src
運行完成后字支,工具已經(jīng)幫你自動升級完成了,對于無法自動修改的部分,codemod 會在命令行進行提示祥款,建議按提示手動修改。修改后可以反復(fù)運行上述命令進行檢查月杉。
在這里插入圖片描述
手動更改提示部分刃跛。再次運行命令檢查。檢查通過苛萎。到這里桨昙,很開心的啟動項目,卻發(fā)現(xiàn)項目報錯了腌歉。
在這里插入圖片描述
一頓百度蛙酪,到github社區(qū)去查問題竟然還有一樣的issue。說是webpack打包的問題翘盖,研究了半天的webpack桂塞,實在找不到bug。就要放棄時馍驯,內(nèi)心有個聲音阁危,再來一次。于是仔細看報錯信息汰瘫,不就是找不到這個模塊嘛狂打。那手動安裝個唄。一頓操作混弥,再回顧工具給出的信息趴乡,發(fā)現(xiàn)它下面有一行黃色的提示
在這里插入圖片描述
恍然大悟,確實是需要手動升級和安裝依賴蝗拿。安裝完成后晾捏,再次運行 antd4-codemod src
在這里插入圖片描述
Checking passed!
啟動項目哀托,完美運行~
不得不感嘆:靜下心來粟瞬,很多事情比你想象的要簡單。~just code it萤捆!