uni-app icon indicating copy to clipboard operation
uni-app copied to clipboard

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

Open yeyifen opened this issue 1 year ago • 5 comments

问题描述 [问题描述:尽可能简洁清晰地把问题描述清楚] 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

系统信息:

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

yeyifen avatar Jul 13 '23 03:07 yeyifen