dcloudio / dcloudio/uni-app

vue3+ts开发的项目打成分包并入旧项目报TypeError: t.$callHook is not a function 错误

Open
#4,422 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
41.6k
Forks
3.7k
Avg merge
7h 6m
Merged PRs (30d)
6

Description

**问题描述**
[问题描述:尽可能简洁清晰地把问题描述清楚]
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 的错误
![image](https://github.com/dcloudio/uni-app/assets/19640756/e06eabb9-cb17-4c7c-8dfe-f595b7fcf271)

**系统信息:**
- 发行平台: 微信小程序
- 操作系统: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打包配置出了问题

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.