uni-app 不支持es2020语法
uni-app 不支持es2020语法
项目信息 | 详情 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC开发环境版本 | windows 10 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 3.1.7 |
手机系统 | Android |
手机系统版本 | Android 10 |
手机厂商 | 华为 |
手机机型 | mate xs |
页面类型 | vue |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
this.appName ?? ‘abc’
### 操作步骤:
this.appName ?? 'abc'
预期结果:
abc
### 实际结果:
error in ./src/other/download/AppDownload.vue?vue&type=template&id=7fa637cf&scoped=true&
Syntax Error: Unexpected token (1:250)
bug描述:
更多关于uni-app 不支持es2020语法的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
经过测试只是vue模板不支持,js是可以支持的
https://github.com/vuejs/vue/issues/11088
更多关于uni-app 不支持es2020语法的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在uni-app中使用ES2020语法(如空值合并操作符??
)确实可能遇到编译错误,因为uni-app的默认编译器配置可能不支持较新的ECMAScript特性。
解决方案:
- 配置babel转换:在项目根目录创建或修改
babel.config.js
,添加对ES2020语法的支持:
module.exports = {
presets: [
['@vue/app', {
useBuiltIns: 'entry',
targets: {
ios: '9',
android: '4.4'
}
}]
],
plugins: [
'@babel/plugin-proposal-nullish-coalescing-operator'
]
}
- 安装babel插件:
npm install --save-dev @babel/plugin-proposal-nullish-coalescing-operator
- 替代方案:暂时改用传统写法:
this.appName ? this.appName : 'abc'