Open yeyifen opened 1 year ago
补充下:打成分包后,并入微信提供的原生小程序项目,也是报一样的错误,所以应该是 --subpackage=car3 这个打分包的参数出bug了,而用 vue2版本的uniapp打的分包就不会报错
我也遇到这个问题了,请问如何解决
对比了下两个版本,vue3的版本里onLaunch才执行initBaseInstance才会赋值$callHook = callHook函数,但appShow的时候比onLaunch早,就会报错,vue2的版本是直接就初始化 所以我这里试ok的改动方法是把initBaseInstance函数移到onLaunch外,直接赋值,就ok了,但不知道会不会有什么其他的问题
但是会有个问题initBaseInstance函数会被执行两次,也不知道是不是正确的逻辑
我们也遇到同样问题,有官方出来解答下怎么解决吗
同样的问题,请问官方啥时候解决哦
问题描述 [问题描述:尽可能简洁清晰地把问题描述清楚] vue3+ts开发的项目打成分包并入旧项目报TypeError: t.$callHook is not a function 错误
复现步骤 [复现问题的步骤] 1、通过
vue create -p ./uni-preset-vue v2
创建vue2的项目(网络问题,直接在github下载并通过这种本地方式创建的项目),并执行yarn;yarn build:mp-weixin
; 编译好小程序包; 2、下载 https://github.com/dcloudio/uni-preset-vue vite-ts 分支的模板,执行 yarn 安装好依赖,再执行yarn build:mp-weixin --subpackage=car3
打成分包; 3、将上一步生成的 car3 文件夹移动到步骤1生成的/dist/build/mp-weixin/
(以下简称v2),并修改v2的app.json 文件,加入分包路由:4、打开微信小程序开发者工具,导入v2项目,通过添加编译模式直接输入 car3/pages/index/index 路径访问该页面;
[或者可以直接贴源代码]
预期结果 可以正常访问该页面,不会报错
实际结果 页面访问正常,但会报 TypeError: t.$callHook is not a function 的错误
系统信息:
补充信息 [可选] [根据你的分析,出现这个问题的原因可能在哪里?] 猜测是通过 --subpackage=car3 参数打分包时,vue3打包配置出了问题