Taro分包加载后页面空白是怎么回事?
我在用 Taro 做小程序开发,配置了分包,但进入分包页面时一直是空白,控制台也没报错。
主包和分包路径都按文档配了,app.config.ts 里也加了 subpackages 字段,像这样:
export default defineAppConfig({
pages: ['pages/index/index'],
subpackages: [
{
root: 'packageA',
pages: ['pages/detail/index']
}
]
})
分包页面路径是 src/packageA/pages/detail/index,但一进这个页面就白屏,连 loading 都没显示。是不是哪里漏了?
你的配置写法有个常见误区,
pages字段里的路径是相对于root的,最终完整路径会变成packageA/pages/detail/index。但你实际的文件路径是src/packageA/pages/detail/index,这没问题。重点来了,你检查一下实际的目录结构,是不是这样的:
如果你的
packageA下面直接是detail文件夹,没有中间那层pages,那路径就配错了。应该改成这样:另外还有几个容易忽略的点:
第一,分包页面文件里必须有页面组件并正确导出,检查
src/packageA/pages/detail/index.tsx是否存在,里面有没有export default definePageConfig和组件定义。第二,微信开发者工具有时候抽风,点一下「清缓存」->「全部清除」,然后重新编译试试。
第三,真机调试看看,模拟器对分包的支持不太稳定,真机上才能看到真实的报错信息。
第四,检查一下分包大小有没有超过 2MB,超了也会白屏但不一定报错。
我之前就是目录结构多了一层少了一层,对着文档看了半天没看出来,后来一个个路径打印才发现的。你可以先
console.log一下当前页面的路由信息,确认路径到底对不对。