biubiubiu...

js新版语法 可选链操作符( ?. ) 不好使 babel 6 升级 babel 7

可选链操作符?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined

 

现象:babel编译失败

 

原因分析: babel版本(6.x)过低

 

解决方法: 升级babel版本至最新(7.x)

## 步骤一

// 方法一
npx babel-upgrade --write

// 方法二
npm install babel-upgrade -g
babel-upgrade --write

 

## 步骤二

  删除node_modules文件夹

## 步骤三

  npm i 

 ## 步骤四

安装其他babel依赖

 

## 其他问题

问题零. npm i babel-plugin-transform-decorators-legacy -D // 包名不能带引号

问题一. 修饰器及其他编译依赖变化 

   .babelrc 变化:

   

 

    package.json 变化:  

      

问题二:

 

 

 解决: npm i @babel/core

 

问题三:

 

 

原因:package.json 依赖包中既有 babel 7.0 版本,又有 babel 6.0 版本 

解决:步骤1. 升级babel相关组件

 

 

 步骤2. 参照问题一更改.babelrc

 

 

修饰器变化参考博文

posted @ 2021-01-12 18:31  了恩  阅读(5598)  评论(0编辑  收藏  举报