详细问题描述
当多个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
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