最近公司在做微信小程序包体积优化,先从wepy 1.X 迁移到了uniapp (vue3+ts), 然后还遇到一个很常见的问题,微信小程序的公共代码,或者 多个分包的非公共代码怎么放,怎么优化,话不多说,这里记录一下
如以下情况:
一个uniapp的微信小程序 ,有主包和分包,
A分包 依赖 C.js
B分包 依赖 C.js
打包的时候 C.js会打包到主包
影响主包包体积大小,影响主包加载
这种情况,大多怎么解决
- A和B两个分包各自放一份
- A和B 合并成一个分包
- 压缩C.js
这里提供一个新思路,了解了新思路,很多包体积优化问题迎刃而解
/// 当然要包裹在一个async函数里
// 这里是B分包
const {
abc
} = await require.async('../../packageA包/components/abc/index')
这里构建后,从微信小程序开发者工具就能看到是公用packageA包的代码啦
跨分包JS代码引用:https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/async.html