uni微信小程序优化,多个分包在用的公共代码该放在哪?
公共的代码包括公用的vue组件和js代码,从维护性的角度来说应该放到主包才对,
但是主包有大小限制,如果把2个分包都在用的代码放到主包里面那2M很快就满了。
所以该放在哪?我的方案是从维护的角度放在主包,然后用webpack的插件在打包的时候
把只有分包在用的vue和js代码分别放到分包中去。
uni的文档在manifest.json中有这么一个配置"optimization":{"subPackages":true},
官方有介绍我就不重复了,从代码的角度来说就是如果你的主包js(注意uni只处理了js)只有一个分包在用(注意是1个)那么uni会通过SplitChunksPlugin的cacheGroups来实现此功能。
uni的优化从项目的实际情况来说处理的还不够,所以我自己写了2个插件分别处理公共的vue和js
插件
uni-optimize 是我看了uni源码之后发现的所有可安全优化的地方,包括压缩空间和提升打包速度2个方面
uni-optimize中的transfer-js-plugin插件处理迁移只有分包在用的js
分包js插件需要开启manifest.json中的以下配置:"optimization":{"subPackages":true}
uni-optimize中的transfer-vue-plugin插件处理迁移只有分包在用的vue
可以直接把代码拷下来使用,也可以npm下载
原理有些复杂,一篇文章讲不清,感兴趣的可以直接去github上看,迁移vue的分包插件已经上线没什么问题,迁移js的分包插件因为主包大小够用就还没有上线,所以要用的话要辛苦测试了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现