一 问题说明
我想用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,其他所有图片都使用七牛云等平台进行托管,不要把图片资源放进代码里面,否则微信小程序上传代码时会提示代码质量不过关
以上只是我在开发过程中的个人思考,仅供参考,如有更好的方案请在评论区发表您的看法