> 技术文档 > 解决uni-app发布微信小程序主包大小限制为<2M的问题_微信小程序主包超过2m怎么办

解决uni-app发布微信小程序主包大小限制为<2M的问题_微信小程序主包超过2m怎么办


一 问题说明

我想用uniapp开发多端应用,引入了uview组件库来美化样式,可发布为微信小程序却提示我代码质量不过关,主包代码量太大了:

二 问题分析

2.1 原生微信小程序开发代码质量限制:

1.主包代码大小不得大于2M,总代码量不得大于20M

2.如果使用原生tabbar,那么tabbar所在页面一定要在主包内

3.主包不能访问子包里面的资源

4.图片资源总大小不得大于200k

2.2 uni-app打包为微信小程序uni-module里面的代码会被打包到主包里面

我用hbuilderx插件的方式引入uview(使用npm包引入的话在hbuilder里面没有语法提示,很不方便),那么uview组件库1.4M会被放入主包里面。再加上vue的核心代码,主包的大小直接爆了。

三 问题解决

要解决主包大小限制的问题,要从一下几个方面考虑:

1.不要使用原生tabbar

使用uview的Tabbar组件,那么这部分代码就会被当成普通业务代码处理,也就不存在限制2的问题。我的代码想放在哪个包就放在哪个包。

2.uview的组件库代码不能放在主包里面,也就是说主包里面的业务代码不能使用uview组件

这里建议主包里面就放一个引导页面或者是登录页,一个vue简单的vue文件就7k大小,自己写一些样式,可以保证不超过大小限制

3.所有业务代码,自定义组件都在子包里面定义

微信小程序对于子包的大小是没有限制的,所以所有的业务逻辑都放在子包里面吧

4.图片资源使用CDN托管

除了tabbar的icon,其他所有图片都使用七牛云等平台进行托管,不要把图片资源放进代码里面,否则微信小程序上传代码时会提示代码质量不过关

以上只是我在开发过程中的个人思考,仅供参考,如有更好的方案请在评论区发表您的看法