在vue项目中使用?.语法报错
时间: 2023-12-03 22:05:08 浏览: 233
在 Vue 2.x 版本中,?. 语法是无法识别的,因为它是 ECMAScript 2020 的新语法,Vue 2.x 只支持 ECMAScript 2015(ES6)语法。
如果你想在 Vue 2.x 项目中使用 ?. 语法,可以使用 Babel 转译器将它转译成 ES6 代码。你可以在 `.babelrc` 文件中添加如下配置:
```
{
"plugins": [
["@babel/plugin-proposal-optional-chaining", { "loose": false }]
]
}
```
然后安装 `@babel/plugin-proposal-optional-chaining` 插件,并在项目中使用 `babel-loader` 编译器。
如果你使用的是 Vue 3.x 版本,那么 ?. 语法是可以直接使用的,因为 Vue 3.x 已经支持 ECMAScript 2020 语法。
相关问题
在vue项目中使用?.语法报错除了下载@babel/plugin-proposal-optional-chaining还有其他办法吗
除了使用 Babel 插件外,Vue 2.x 中使用可选链语法的另一种方法是使用 `lodash` 库中的 `get` 函数。`get` 函数可以帮助你避免在深度嵌套的对象中访问不存在的属性时出现错误。
使用 `get` 函数的示例代码如下:
```javascript
import get from 'lodash/get'
// ...
let value = get(obj, 'a.b.c')
```
上述代码会返回 `obj.a.b.c` 的值,如果 `obj.a.b.c` 不存在,则会返回 `undefined`。
需要注意的是,使用 `get` 函数的方式虽然可以避免可选链语法报错,但是在代码中使用频繁嵌套的 `get` 函数可能会影响代码的可读性和性能。因此,建议使用 Babel 插件来支持可选链语法。
vue-cli4.5.13版本中用了?.语法没报错
抱歉,之前的回答有误。在 Vue CLI 4.5.13 版本中,默认是支持可选链操作符(?.)的。Vue CLI 4.5.13 使用的是 Babel 7,并且默认包含了 `@babel/plugin-proposal-optional-chaining` 插件,该插件用于支持可选链操作符。
因此,在 Vue CLI 4.5.13 版本中,你可以在代码中使用 ?. 语法而不会报错。你无需手动进行额外的配置来启用可选链操作符支持。
请注意,如果你使用了其他版本的 Vue CLI 或自定义了 Babel 配置,那么可选链操作符可能需要手动配置才能生效。但在 Vue CLI 4.5.13 中,无需额外配置就可以直接使用可选链操作符。
阅读全文