2***@qq.com
2***@qq.com
  • 发布:2020-04-23 10:13
  • 更新:2020-04-30 18:09
  • 阅读:1138

【报Bug】多个vue共用一个js文件,编译成微信小程序有组件缺失

分类:uni-app

详细问题描述

当多个vue文件共用一个js文件,而这个js文件引入了多个组件。当编译成微信小程序后这多个页面都存在组件缺失,只有一个页面能够渲染出所有的组件,而且这个拥有全部组件的页面文件也是很随机的,每次都不同。
然而页面所缺失的组件,都是非共用组件,就是说放在最外层的components的共用组件都能渲染出来,但是放在pages中的局部组件就渲染不出来。

[内容]

重现步骤

如图中,我的brand.vue、category.vue、common.vue、subject.vue都是共用list.js。

<script src="./list.js"></script>

然后list.js引入了多个组件,一些是共用组件,一些是局部组件,就是图一的component文件夹中的组件。

然后编译成微信小程序后,四个页面对应的json如图所示,有三个会缺失那些局部组件,只有一个能够全部组件编译出来。而且能够全部编译出来的页面也是很随机的。

使用HBuilderX编译打包也是同样效果。

这种情况只在微信小程序会出现,在h5端就不会出现这个情况。

然后目前我找到的一个解决方案就是把组件全部丢进公用组件component文件夹中,这样子就都能渲染出来,但是这样子会比较不规范,所以希望你们能够提纲一个更好的方案或者修复这个bugs。

IDE运行环境说明

使用工具:webstorm

[IDE版本号] 2019.3.3

[mac版本号]10.14.6

uni-app运行环境说明

运行端:微信小程序、h5

联系方式

[QQ] 244530964

2020-04-23 10:13 负责人:DCloud_UNI_FXY 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

建议使用easycom
https://uniapp.dcloud.io/collocation/pages?id=easycom

  • 2***@qq.com (作者)

    easycom的话还是得放到公用的components文件夹里面,没办法放个独立的components文件夹里

    2020-05-08 09:50

  • DCloud_UNI_FXY

    回复 2***@qq.com: easycom支持custom配置,可以自己写匹配规则

    2020-05-08 14:34

  • 2***@qq.com (作者)

    回复 DCloud_UNI_FXY: 我试试看,谢了。

    2020-05-11 17:57

该问题目前已经被锁定, 无法添加新回复