最近公司在做微信小程序包體積優(yōu)化,先從wepy 1.X 遷移到了uniapp (vue3+ts), 然后還遇到一個很常見的問題阐肤,微信小程序的公共代碼,或者 多個分包的非公共代碼怎么放讲坎,怎么優(yōu)化孕惜,話不多說,這里記錄一下
如以下情況:
一個uniapp的微信小程序 晨炕,有主包和分包衫画,
A分包 依賴 C.js
B分包 依賴 C.js
打包的時候 C.js會打包到主包
影響主包包體積大小,影響主包加載
這種情況瓮栗,大多怎么解決
- A和B兩個分包各自放一份
- A和B 合并成一個分包
- 壓縮C.js
這里提供一個新思路削罩,了解了新思路,很多包體積優(yōu)化問題迎刃而解
/// 當然要包裹在一個async函數(shù)里
// 這里是B分包
const {
abc
} = await require.async('../../packageA包/components/abc/index')
這里構(gòu)建后费奸,從微信小程序開發(fā)者工具就能看到是公用packageA包的代碼啦
跨分包JS代碼引用:https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/async.html