uni-app Hbuilder4.06内置浏览器 vue3项目因??报错

发布于 1周前 作者 vueper 来自 Uni-App

uni-app Hbuilder4.06内置浏览器 vue3项目因??报错

信息类别 内容
产品分类 uniapp/H5
PC开发环境 Mac
操作系统版本 14.3
开发工具 HBuilderX
工具版本 4.06
浏览器 Chrome
浏览器版本 内置
项目创建方式 HBuilderX

示例代码:

<script>
export default {
data() {
return {
title: 'Hello',
test:1,
}
},
onLoad() {
let test = this.test ?? 1
},
methods: {  
}  
}
</script>

操作步骤:

新建vue3的hello项目,在首页加入代码

onLoad() {
let test = this.test ?? 1
},

预期结果:

正常运行

实际结果:

报错:

13:26:07.594 [Vue warn]: Unhandled error during execution of async component loader 
at <AsyncComponentWrapper>
at <PageBody>
at <Page>
at <Anonymous>
at <Layout>
at <App>
13:26:07.594 ‍[⁠SyntaxError⁠]‍ {message: "Unexpected token ?"}

bug描述:

??运算符在vue2项目上是不报错的,但在vue3项目上报错


2 回复

这个差异是因为vue3的vite默认策略不会把这些高级语法降级编译。而hx内置浏览器的版本又比较低造成的


在使用 uni-app 和 HbuilderX 4.06 进行 Vue3 项目开发时,可能会遇到内置浏览器报错的情况。以下是一些常见的可能原因及解决方法:

1. Vue3 兼容性问题

  • 原因: uni-app 默认使用的是 Vue2,而 Vue3 在语法和 API 上与 Vue2 有一些不同,可能会导致兼容性问题。
  • 解决方法:
    • 确保你的项目是基于 Vue3 的 uni-app 模板创建的。
    • 检查 manifest.json 文件中的 vueVersion 是否设置为 "3"
      {
        "vueVersion": "3"
      }
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!