腳手架手動升級記錄。babel 6.x -> 7.x;eslint 4.x -> 7.x;
阿新 • • 發佈:2021-09-17
Babel 升級
1、是升級 package.json 的版本,
2、是修改 .babelrc。
3、最後是手動調整其他一些配套的東西
前兩個步驟,直接通過在專案資料夾下執行 npx babel-upgrade --write 即可
官方升級指南:https://www.babeljs.cn/docs/v7-migration
babel升級之後,專案報錯了,經排查之後,發現是babel自動添加了 use strict 導致某個地方獲取到的window物件是undefined所以報錯。
所以在 .babelrc 裡面添加了
"plugins": [ ["@babel/plugin-transform-modules-commonjs", { "strictMode": false }] ]
作用:不新增嚴格模式
這個時候專案就可以跑起來了。
可選鏈也可以直接使用了,但是空值合併符還是會報錯。看了babel文件之後,發現是babel配置裡面的外掛少了 “@babel/plugin-proposal-nullish-coalescing-operator”
但是加了之後還是不行,一樣報錯。
原因:babel雖然已經升級並且已經支援空值合併符,但是eslint版本太低,它不支援空值合併符,所以會報錯
因此再更新eslint相關包的版本。