小程序分包加载后主包体积还是超限怎么办?
我按照官方文档把部分页面移到 subpackages 里了,但构建完发现主包还是超过 2M,明明那些页面和组件都挪走了啊。是不是有些资源没被正确拆出去?
我在 app.json 里配置了分包,像这样:
{
"pages": ["pages/index/index", "pages/logs/logs"],
"subpackages": [
{
"root": "packageA",
"pages": ["pages/detail/detail"]
}
]
}
但打包分析显示主包里还包含 packageA 里的某些公共组件,是不是因为我在 app.js 里 import 了一个工具函数,导致整个依赖树又被拉回主包了?
app.js或其他主包文件里直接引入了packageA中的某个模块或者组件,导致整个依赖树都被打包到主包里去了。可以试试这样解决:
1. 检查
app.js和主包里的其他 js 文件,看看有没有直接 importpackageA中的内容。2. 如果有,尽量避免直接 import,可以考虑使用动态引入的方式,比如通过
require或者微信小程序的wx.requireModule在需要的时候再引入。3. 同时,检查一下是否有全局的样式或者资源文件被错误地放在了主包中,这些也会增加主包的大小。
记得每次修改之后都要重新构建项目,看看主包大小有没有变化。有时候缓存的问题也会导致看起来没有变化,清理一下缓存再试一次吧。希望这些建议能帮到你!