设置分包的原因:
因为小程序规定主包资源大小不能超过20M(主包 + 分包)
单个分包大小不能超过2M
未分包所有的页面都在pages文件里
分包之后pages里只放tabar文件也就是主文件
未分包所有的页面路径都在pages.json里
分包之后pages.json里,在pages里面只放tabar页面路径也就是主文件
其他页面的路径都放在放在subPackages里面,然后给分包都归好类
分包完之后路径发生了改变,切记!!!切记!!!切记!!!
源码:
"subPackages": [
{ // 通过 subPackages 节点,声明分包结构
"root": "subPackagesA", // 第一个分包的根目录 相对于根目录 subPackagesA 进行存放的
"name": "分包A", // 分包别名
// "independent": true, //将subPackagesA,设置为独立分包
"pages": [ //当前分包下,所有页面的相对存放路径(会自动生成对应页面 -- 与上面的pages相同)
// 商品列表
{
"path": "pages/index/business",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#FFFFFF"
}
},
// 商品详情
{
"path": "pages/index/productDetails",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#FFFFFF"
}
}
]
},
{ // 通过 subPackages 节点,声明分包结构
"root": "subPackagesB", // 第二个分包的根目录 相对于根目录 subPackagesB 进行存放的
"name": "分包B", // 分包别名
// "independent": true, //将subPackagesB,设置为独立分包
"pages": [ //当前分包下,所有页面的相对存放路径(会自动生成对应页面 -- 与上面的pages相同)
// 去结算
{
"path": "pages/cart/goSettlement",
"style": {
"navigationBarTitleText": "填写订单",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#FFFFFF"
}
},
// 订单详情
{
"path": "pages/cart/lookSettlementDetails",
"style": {
"navigationBarTitleText": "订单详情",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#FFFFFF"
}
}
]
},
]
分包完之后如果报错只需要重新运行一下项目即可。
这时unpackage/dist/dev/mp-weixin/app.json自动变成分包完之后的样子
【注释参考】
这时分包已经奏效
如果分包完之后,主包还是大,只需要3步
1、在manifest.json里源码视图的mp-weixin加上 "optimization":{"subPackages":true}
2、在编译器里勾选运行时压缩代码
3、上传代码时压缩css
然后重新运行一下项目即可










网友评论