微信小程序vender.js过大
进行了分包,但是在分包中用了一些插件,如:省市区选择(插件是基于uniapp的picker封装的),发现这个插件的省市区都被打包进了vender.js,导致vender.js过大,怎么能解决这个问题?求教!!!
微信小程序vender.js过大
进行了分包,但是在分包中用了一些插件,如:省市区选择(插件是基于uniapp的picker封装的),发现这个插件的省市区都被打包进了vender.js,导致vender.js过大,怎么能解决这个问题?求教!!!
有两种解决方案
步骤:
示例:
// 假设插件使用的是 Vue.js
methods: {
loadProvinceData() {
// 异步加载省数据
import('./data/provinces.json').then(data => {
this.provinces = data;
});
},
loadCityData(provinceId) {
// 根据省份ID异步加载市数据
import(`./data/cities/${provinceId}.json`).then(data => {
this.cities = data;
});
},
loadDistrictData(cityId) {
// 根据市ID异步加载区数据
import(`./data/districts/${cityId}.json`).then(data => {
this.districts = data;
});
}
}
步骤:
示例:
// 在 app.json 中配置分包
{
"subPackages": [
{
"root": "subPackage",
"pages": [
"pages/province/province",
"pages/city/city",
"pages/district/district"
]
}
]
}
// 在需要时异步加载分包
wx.loadSubpackage({
name: 'subPackage',
success: function(res) {
// 分包加载成功
},
fail: function(err) {
// 分包加载失败
}
});
1 回答2.6k 阅读
3 回答1.4k 阅读
2 回答1.2k 阅读
1 回答551 阅读
可以采用 异步加载子包 的方式,将引用到的第三方模块单独抽取为一个包文件,然后在业务中 使用 异步加载子包 的方式加载,这样就会减小主包体积
我这里写过一个开源的 uniapp 拆包项目,你可以参考下:uniapp-ts-skeleton
另还有一个开源你的 小程序CI助手,希望也对你有用