在内容较多的时候,需要分包,当然如果只是图片等资源比较多,而实际的内容不是很多的话,可以直接跳到步骤2
分包官方教程:uniapp分包:subPackages
如果分完包,还是超出限制,可以在微信开发者工具查看代码依赖情况,并继续往下看博文~
注意:
推荐使用 unicloud云服务空间主页,云服务空间有10G免费容量。
将资源上传到云服务空间,然后点击详情可以看到url~
附一张uniapp官方教程里关于阿里云服务空间的描述~ 阿里等云服务
如果此时还是超出限制,那就要有针对性地删除组件了。。。
先在微信开发者工具查看代码依赖情况
(上图有点夸张哈,是没把图片改成url的版本~)
可以只分析主包,但是建议其它包也删减一下~
如果发现有些比较大的文件,是小程序端用不到的,那可以直接删了
然后就是删除多余组件(uniapp打包成微信小程序,好像会自动剔除用不到的组件,所以这里需要有针对性的删组件)
(仅参考)其实我刚开始的策略是,全局搜索组件名—uni_modules的组件名可以在每个组件的readme看到,
如果没有被其它vue代码引用,并且没有被其它组件引用(changelog.md和readme.md都不算) 依赖也不算,都不是真正用到这个组件(依赖需要把这行删掉,如图)
此处就会遇到一个问题,假如一个底层组件A(文件较大,例如uni_row)并没有用到,但是被封装后的B用到了,实际上B也用不到,这时全局搜索A(根据代码依赖)的时候,发现B里有A,不敢删A。。。其实如果先全局搜索B,发现B没有被引用,删掉B,再全局搜索A,A也没有被引用,就可以都删掉了。。。(所以,还是要一点点删代码才知道具体的依赖情况;或者一层一层的搜,搜A,发现只有B依赖,继续搜B,如果没依赖皆大欢喜直接删,如果有…继续… 经个人测试,如果全局搜到5或6个文件相关时,比较安全,大概率可以删除 )
划重点!!! 如果你即将上传的代码包含视频和音频,那很不幸的告诉你,微信小程序的个人开发者不允许发布视频、音频内容。。。可以直接把相关组件和代码删了。。。当然如果想一直用测试版(不需要审核),当我没说~
不能发视频相关:
不能发音乐相关:
体验版:
经过上述操作,如果发现缩到2M还是很困难,可以选择调整布局,把四个tabber改成三个。。。改前:好悲桑不想改嘤嘤嘤。。。改后:啊~真香
调整布局后,就可以把一整个tabber的内容移到分包里~
emm如果现在,你的主包还是超过2M,那可能需要改动代码了。。。(慎重慎重慎重!当然如果评论区有其它方法,bz收到后会及时更新哒~)
走到这一步,bz的主包已经从3989K降到2085K啦!把一个背景图,直接换成简易的css样式,就大功告成啦! 不知道小伙伴有没有这么幸运哈哈哈哈~
hbuilderx创建的项目,好像不能通过npm压缩代码并发布,bz是直接运行到微信开发者工具然后点击“上传”的,(点击发行只能在unpackage文件夹下生成一个微信小程序的文件,,,这个文件微信开发者工具打不开,,, 不够微信开发者工具点击上传的时候,貌似可以压缩代码)
(小白可参考)移动uni_modules里的组件到分包M,M里有一个vue文件要引用这个组件,如果代码不改,发现引用失败,此时:在script里import一下,然后再components里注册一下:
再强调一下:如果是个人开发者而不是企业开发者,是不运行发布视频和音频的!!! bz不敢骂 ,只能劝解小伙伴们多注意~
小伙伴们如果有更好的删减demo的方法,欢迎评论区评论呀~