收藏
回答

ext.json的usingComponents会覆盖app.json全局组件注册吗?

【关键前提:非代码片段项目才触发】

代码片段模式正常。复现需用 normal-project/ 目录(标准项目),

当前根目录为代码片段模式,仅作对比参考。


【复现步骤】

1. 打开 normal-project/,真机扫码预览

2. ext.json 中 "usingComponents": {},app.json 全局注册分包组件

3. 页面A本地注册该组件,页面B未配置(仅依赖全局)

4. 切换Tab


【实际结果】

页面A:分包组件正常

页面B:分包组件停留在占位符,不渲染


【预期结果】

页面B通过app.json全局注册同样正常渲染


【验证】

去掉 ext.json 的 "usingComponents": {} → 恢复正常


 

最后一次编辑于  06-12
回答关注问题邀请回答
收藏

3 个回答

  • 第三方平台小助手
    第三方平台小助手
    06-16

    你好,ext.json与是app.json 同级的,会覆盖ttps://developers.weixin.qq.com/miniprogram/dev/devtools/ext.html

    另外,请参考 代开发小程序配置直播插件说明 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/product/live-player.html

    可以将包含直播插件和未包含直播插件的小程序代码分别提交至代码模板库

    06-16
    有用
    回复 15
    • 😃
      😃
      06-17
      例如A小程序要使用A组件,B小程序要使用B组件,这种情况下是需要在ext文件中的usingComponents来设置区分的,这时候全局文件app.json中用usingComponents注册的组件C就会无效,这也是正常的吗?(代码片段模式无法复现,同样的代码切成小程序模式稳定复现,这也应该是bug吧?)
      06-17
      回复
    • 😃
      😃
      06-17回复😃
      并且微信开发者工具1.06.2401020版本生成的码手机去扫是正常的,最新版本的开发者工具是不行的

      并且中间有一版本2.01.2510260,代码片段也不行的,我有提过,新版本的代码片段可以了,但是小程序模式下生成的码扫一下还是不行
      中间版本的反馈链接:https://developers.weixin.qq.com/community/minihome/doc/0000a62048489849c17486ab16d000
      06-17
      回复
    • 第三方平台小助手
      第三方平台小助手
      06-17回复😃
      1、“全局文件app.json中用usingComponents注册的组件C就会无效”------这是符合预期的吧,这里已经提到过会覆盖的


      2、按照这个文档指引呢?不要在app.json里声明,只在ext_json里声明再试试?需要改配置信息,在上传代码接口的ext_json参数中修改


      commit接口:https://developers.weixin.qq.com/doc/oplatform/openApi/miniprogram-management/code-management/api_commit.html
      06-17
      回复
    • 😃
      😃
      06-17回复第三方平台小助手
      那为何新版本代码片段生成的码扫出来正常,切换成小程序模式生成的码扫出来就不行呢?历史版本的开发者工具1.06.2401020生成的码扫出来也是正常的

      页面的usingComponents和app.json的usingComponents是共同生效的,
      例如页面配置 组件A+组件B,app.json配置 组件A+组件C,这时候页面内组件A、B、C都正常展示的,如果这时候ext.json中配置组件A和D,则页面内只会生效A、B、D,历史版本的ABCD都会生效
      06-17
      回复
    • 😃
      😃
      06-17回复😃
      测试验证下来,app.json、ext.json、page.json中的配置读取如下
      1. page.json到ext.json/app.json是深度覆盖的关系,两者注册的组件都会生效,
      2. ext.json和app.json是浅度覆盖关系,ext中只要有usingComponents字段,app.json中的配置就会全部无效
      这个现象是正常现象吗?为啥历史版本的两者都是深度覆盖关系,三个文件配置的组件全都生效的,是历史版本开发者工具的bug吗?
      06-17
      回复
    查看更多(10)
  • 😃
    😃
    06-16

    有人回复一下吗?

    06-16
    有用
    回复
  • 智能回答 智能回答 本次回答由AI生成
    06-12
    有用
登录 后发表内容