目标babel6升级babel7,让旧项目能使用新特性写法
支持支持JavaScript的可选链操作符(?.)和空值合并操作符(??)
兼容性测试:node版本要求14以上,其他版本运行会报错
node版本可以支持向下兼容,旧版本就运行不了新版本
参考链接:www.jianshu.com/p/02d7d2908…
(1)babel-core卸载掉,从新安装@babel/core
cnpm un babel-core // 卸载 不然不同版本的core会发生冲突,构建失败cnpm i -D @babel/core // 重新安装babel7的corecnpm i -D babel-loader@8.1.0 // babel7需要babel-loader8以上的版本,否则报错cnpm i -D @babel/polyfill@^7.10.1,cnpm i -D @babel/runtime@^7.10.2,cnpm i -D @babel/plugin-transform-runtime@^7.10.1,cnpm i -D @babel/preset-env@^7.10.2,cnpm install --save-dev @babel/plugin-proposal-optional-chaining @babel/plugin-proposal-nullish-coalescing-operator 支持新特性操作符
配置开启插件
// 安装后,卸载不需要的babel6的相关插件,进行.babelrc 的文件配置// .babelrc 文件示例{"plugins": ["@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"]}以下是配置文件
// 安装后,卸载不需要的babel6的相关插件,进行.babelrc 的文件配置{"presets": [["@babel/env",{"targets": {"edge": "17","firefox": "60","chrome": "67","safari": "11.1"},"corejs": "3","useBuiltIns": "usage"}]],"plugins": ["transform-vue-jsx","@babel/plugin-transform-runtime","@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator"]}- 如果运行报错的话,猜测是babel版本问题,重新执行
-
npm install --save core-js@3
- 卸载原有node_modules,重新安装依赖。 (这步不能省略)
新语法使用参考链接:developer.mozilla.org/zh-CN/docs/…