babel可选链操作符?.编译报错
报错信息:
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/vue-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
解决方法:
原文链接:https://blog.csdn.net/roylinziyang/article/details/123280896
可选链操作符是ES2020中推出的新语法,允许我们不需要校验当前属性的类型去尝试访问子属性。
const a = b?.c?.d
在vue项目中使用可选链操作符语法时会出现编译报错的情况,需要安装babel依赖@babel/plugin-proposal-optional-chaining,并添加到babel.config.js中。
安装
npm install @babel/plugin-proposal-optional-chaining --save-dev
安装过程中可能会出现"源文本中出现无法识别的标记"报错,是由于node版本的问题导致需要使用引号将插件名称包裹。
npm install '@babel/plugin-proposal-optional-chaining' --save-dev
配置
在babel.config.js中添加:
module.exports = {
presets: ['@vue/app'],
plugins: ["@babel/plugin-proposal-optional-chaining"]
}