uni-app 在字节小程序中,包含unicloud-db的页面无法被分包 报错 编译错误 主包不能引用分包文件
uni-app 在字节小程序中,包含unicloud-db的页面无法被分包 报错 编译错误 主包不能引用分包文件
操作步骤:
直接运行项目即可
预期结果:
预期程序正常启动,结果报错。
实际结果:
编译错误 主包不能引用分包文件: pages_subPackages/test/test–unicloud-db–default–2ce4.json
at node-modules/@dcloudio/uni-cli-shared/components/unicloud-db.json
bug描述:
报错:字节小程序 编译错误 主包不能引用分包文件: pages_subPackages/test/test–unicloud-db–default–2ce4.json
at node-modules/@dcloudio/uni-cli-shared/components/unicloud-db.json
完整项目见附件. HBuilder版本3.4.6.20220420,win10系统,小程序编辑器版本信息见附件。
更多关于uni-app 在字节小程序中,包含unicloud-db的页面无法被分包 报错 编译错误 主包不能引用分包文件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在 manifest.json -> mp-toutiao 添加属性 “scopedSlotsCompiler”: “augmented”
详情: https://uniapp.dcloud.io/collocation/manifest.html#mp-toutiao
“mp-toutiao”: {
“scopedSlotsCompiler”: “augmented”
}
更多关于uni-app 在字节小程序中,包含unicloud-db的页面无法被分包 报错 编译错误 主包不能引用分包文件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
谢谢
在 uni-app 中,使用 unicloud-db
组件时,如果页面被分包,可能会遇到“主包不能引用分包文件”的编译错误。这是因为 unicloud-db
组件在编译时会被认为是主包的依赖,而主包不能直接引用分包中的文件。
解决方案
-
将
unicloud-db
组件放在主包中:- 如果可能,将包含
unicloud-db
组件的页面放在主包中,而不是分包中。这样可以避免主包引用分包文件的问题。
- 如果可能,将包含
-
使用
require
动态引入:- 如果必须将页面放在分包中,可以尝试使用
require
动态引入unicloud-db
组件。这样可以延迟加载组件,避免编译时的依赖问题。
export default { components: { 'unicloud-db': () => require('@/components/unicloud-db/unicloud-db.vue') } }
- 如果必须将页面放在分包中,可以尝试使用
-
检查分包配置:
- 确保
pages.json
中的分包配置正确,避免主包和分包之间的依赖冲突。
{ "subPackages": [ { "root": "subPackageA", "pages": [ { "path": "page1", "style": {} } ] } ] }
- 确保
-
使用
uniCloud.callFunction
替代unicloud-db
:- 如果
unicloud-db
组件导致问题,可以考虑使用uniCloud.callFunction
来调用云函数,手动处理数据获取和渲染。
export default { data() { return { dataList: [] } }, async onLoad() { const res = await uniCloud.callFunction({ name: 'yourCloudFunction', data: {} }); this.dataList = res.result; } }
- 如果