1. 程式人生 > 其它 >腳手架手動升級記錄。babel 6.x -> 7.x;eslint 4.x -> 7.x;

腳手架手動升級記錄。babel 6.x -> 7.x;eslint 4.x -> 7.x;

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相關包的版本。