123的秘密
123的秘密
  • 发布:2022-12-29 12:06
  • 更新:2022-12-29 15:31
  • 阅读:146

【报Bug】vue3 template属性不能正常执行

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows0

HBuilderX类型: 正式

HBuilderX版本号: 3.6.15

手机系统: Android

手机系统版本号: Android 12

手机厂商: 小米

手机机型: 小米12

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

const compile = createApp({
template: ${props.source},
methods: {
toUserOrTopic: (type, id) => {
console.log(type, id)
}
}
})
compile.mount(document.getElementById('compile'));

操作步骤:

如代码所示,vue 3 uniapp项目

预期结果:

template属性正常编译执行

实际结果:

如图所示,报错

bug描述:

vue3 不支持template选项,报错,代码和报错如下图

2022-12-29 12:06 负责人:无 分享
已邀请:
123的秘密

123的秘密 (作者) - 程序猿

官方不会回复的 我这里说一下吧 他不支持,如果不用uniapp可以解决 用uniapp就不支持,难搞哦

123的秘密

123的秘密 (作者) - 程序猿

我找到解决的办法了 ,他们官方是不支持的,也就是说他们的vue3是跑运行版的,不是esm版本,也就不支持template属性了,但是我们可以重新npm install vue@3, 在vite.config.js配置alias(常规项目可以,uniapp不能全局替换)即可,或者在所需要用的地方将vue替换为esm版本,注意,注意,注意,不能完全代替,只代替需要用到的地方即可,否则会 全局报错,不能正常运行 uniapp,会生成很多没有的依赖,packge.json等文件,这些我觉得没什么用,解决的办法就是,删除所有的依赖和packge.json文件,只留下vue.esm.bundle.js和@vue文件夹,保存在static文件下(便于异地下载项目包),直接复制到nodeModules下即可,文件的引用应该大家都会,不再赘述。

  • 123的秘密 (作者)

    但是这种方法只是支持h5页面,app真机运行会报错exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: no access

    2022-12-29 15:47

要回复问题请先登录注册