uni-app
uni-app copied to clipboard
vue3+ts开发的项目打成分包并入旧项目报TypeError: t.$callHook is not a function 错误
问题描述 [问题描述:尽可能简洁清晰地把问题描述清楚] 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 文件,加入分包路由:
"subPackages": [
{
"root": "car3",
"pages": [
"pages/index/index"
]
}
],
4、打开微信小程序开发者工具,导入v2项目,通过添加编译模式直接输入 car3/pages/index/index 路径访问该页面;
[或者可以直接贴源代码]
预期结果 可以正常访问该页面,不会报错
实际结果
页面访问正常,但会报 TypeError: t.$callHook is not a function 的错误
系统信息:
- 发行平台: 微信小程序
- 操作系统:macos 微信开发者工具
- HBuilderX版本 [如使用HBuilderX,则需提供 HBuilderX 版本号]
- uni-app版本,yarn info 返回信息:
{
name: 'uni-preset-vue',
versions: [],
time: {
created: '2022-02-09T02:50:24.779Z',
'0.0.0': '2022-02-09T02:50:25.020Z',
modified: '2022-03-01T08:25:41.142Z',
unpublished: {
time: '2022-03-01T08:25:41.142Z',
versions: [
'0.0.0'
]
}
},
users: {},
'dist-tags': {},
version: undefined
}
- 设备信息 [如 iPhone8 Plus]
补充信息 [可选] [根据你的分析,出现这个问题的原因可能在哪里?] 猜测是通过 --subpackage=car3 参数打分包时,vue3打包配置出了问题