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特性。

解决方案:

  1. 配置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'
  ]
}
  1. 安装babel插件
npm install --save-dev @babel/plugin-proposal-nullish-coalescing-operator
  1. 替代方案:暂时改用传统写法:
this.appName ? this.appName : 'abc'
回到顶部