uniapp做微信小程序的分包加载(详细)
近期在用uniapp做微信小程序时,真机调试打不开了,提示: Error: 系统错误,错误码:80051,source size 2103KB exceed max limit 2MB
首先,第一个关注点: “2MB”,我记得当年学这个的时候就有这么个限制,看下官方信息: 微信小程序每个分包的大小是2M,总体积一共不能超过20M。
第二个关注点: 既然超出了,怎么办
官方也给出了使用方法: https://uniapp.dcloud.io/collocation/pages?id=subpackages, 我这说下注意点:
1. 仔细看使用方法的页面分解及下方的pages.json内的写法,使用的方法肯定是subpackages,两者一一对应
2. pages内的path,路径是全路径,subpackages里面的root,是你页面设计的结构的第一层,这一层的目录名就是你的subpackages的root名
3. subpackages下的pages的值,是下方目录下的内容,注意: 路径不是从根目录开始,而是接着上面root的路径继续往下拼的。 举个栗子: 对pagesA/list/list进行单独分包, subpackages下root写pagesA,path里面只需要写list/list即可。
为啥要总结这个呢,主要是在开发过程中,不大会注意这些,但在打包后代码大小达到2M以上时,才会想到去进行分包操作,但代码设计结构一般是pages下一堆页面,并不会设计出类似于官方文档中的那种结构(并且一般还习惯性的不看人家demo的目录结构),因此在分包时,不仅需要改pages.json文件,而且代码设计结构也需要改,(注,代码内路由跳转的路径别忘了同步改下)