在使用uniapp开发小程序的过程中,我们不免会有一些本地资源,如图片,图标之类的,但是微信服务器有上传限制,小程序单个包中的静态资源不得超过2mb,当我们的开发量很大的时候,避免不了超包的情况,这样就会导致无法上传,甚至无法上线,所有的工作都会功亏一篑。
解决方法:1.将静态资源放到外网服务器上,通过浏览器中的地址访问。
2.小程序进行分包配置,使其每个包都不超过2mb
今天我们要将的主要就是第二种解决方式----分包
- 首先,在项目根目录中找到配置manifest.json文件,配置manifest.json
"mp-weixin": {
"optimization":{ "subPackages" : true }
}
- 配置page.json,在pages.json中新建数组"subPackages",数组中包含两个参数:
1.root:为子包的根目录
2.pages:子包由哪些页面组成,参数同pages
"subPackages": [{
"root": "subPackages",
"name": "p1",
"pages": [
{
"path": "pages/gymy/gymy",
"style": {
"navigationBarTitleText": "我的车辆",
"navigationBarBackgroundColor": "#105090",
"navigationBarTextStyle": "#fff"
}
},
{
"path": "pages/gymy/orders",
"style": {
"navigationBarTitleText": "我的订单",
"navigationBarBackgroundColor": "#fff",
"navigationBarTextStyle": "black",
"navigationBarShadow": {
"colorType": "grey"
}
}
}]
}]
- 分包预下载配置,主要用于优化速度。配置preloadRule后,在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度(tip:preloadRule中,key是页面路径,value是进入此页面的预下载配置)
"preloadRule": {
"pages/index/index": { //要进行预加载时用户要进入的页面路径
"network": "all", // 什么网络下支持允许预加载,默认wifi: wifi/all
"packages": ["p1"] // 要进行预加载的子包名
}
},
配置成功,以上就是uniapp开发小程序时分包的配置过程。