saoge
saoge
  • 发布:2024-12-09 14:27
  • 更新:2025-04-22 11:06
  • 阅读:827

【报Bug】如何为组件中使用的组件指定componentPlaceholder

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.24

第三方开发者工具版本号: 1.06.2402040

基础库版本号: 3.4.9

项目创建方式: HBuilderX

操作步骤:

分包之后,A包下面A1页面下面的A2组件,使用B包下面的B2组件

预期结果:

正常使用跨分包的组件

实际结果:

Component is not found in path

bug描述:

分包之后,A包下面A1页面下面的A2组件,使用了B包下面的B2组件,没办法在A2组件中指定componentPlaceholder

2024-12-09 14:27 负责人:无 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

提供个空白工程,说明你的具体用法和场景。并说明 vue 和 HBuilderX 版本依赖

  • saoge (作者)

    就是A分包下面的某个组件,想要使用B分包下面的某个组件,但是没办法给A分包下面的组件指定这个B分包下面的组件的占位元素,导致微信小程序报错

    2024-12-11 17:33

saoge

saoge (作者) - 前端开发者

目前解决了,解决方案就是把组件也写进pages.json里面去,这样编译出来的就有相关的东西了,这个办法有点笨,还是希望官方可以支持一下

  • DCloud_UNI_OttoJi

    提供一个复现工程把,提供更多信息,有助于定位和解答你的问题。

    2024-12-16 11:14

  • g***@163.com

    支付宝小程序上有问题

    2025-01-07 21:47

  • 7***@qq.com

    回复 DCloud_UNI_OttoJi: 复现什么, 随便搭一个项目引用一下就是, 必现的

    2025-01-13 16:24

  • 小姚同学

    请问怎么把组件也写却是pages.json里面去?可否提供下代码截图

    2025-02-11 15:52

  • 1***@qq.com

    回复 小姚同学: 请问解决了吗 我也好奇怎么把组件写进pages.json

    2025-03-31 17:06

  • saoge (作者)

    回复 小姚同学: 组件路径放到pages.json啊,随便起个用不到的路由,指向组件的目录

    2025-04-03 17:09

2***@qq.com

2***@qq.com

假如我的主包page/index页面配置了componentPlaceholder,page/index下还有一些文件用到了子包的组件,为什么会出现找不到该组件呢

  • 1***@qq.com

    子组件使用分包里面的组件要在page/index中声名,且要在pages.json中配置

    2025-01-16 09:43

  • 1***@qq.com

    回复 1***@qq.com: https://github.com/KDWangBoss/uniapp-bugs/commit/dc1be1eb8059291022949d968ebd2abdcf589952

    2025-01-16 09:46

  • 1***@qq.com

    回复 1***@qq.com: 下载您的代码看了一下,你这只是页面用到了分包的组件,可以通过配置解决,代码中并没有页面下的组件又用到分包中组件的情况

    2025-03-31 17:36

saoge

saoge (作者) - 前端开发者

没想到这个问题这么多人关注,解决方式就是在Pages.json里面写一个用不到的路由,然后把要用到的组件路径放进去然后配置一下就行了啊

h***@126.com

h***@126.com

我是这么干的,分包组件引另外分包组件也行,不需要手动写, 看着用,不一定试用你的项目(暂时没有上线测试)
1、包文件@dcloudio/webpack-uni-mp-loader/lib/plugin/generate-json.js 复制一份到自己项目
2、更改generate-json.js 第246行,添加自己的判断

3、vue.config.js 中添加

要回复问题请先登录注册