开发者可通过开发者工具中的性能扫描工具提前发现代码中的可优化项:
1. 代码包不包含插件大小超过 1.5 M
【建议】小程序代码包单个包大小限制为2M。因此我们建议开发者在开发时,如果遇到单包体积大于1.5M的情况,可以采取分包的方式,把部分代码拆分到分包去,降低单个包的体积,提升小程序的加载速度。具体可以查看文档《使用分包》。
2. 引用插件大小超过 200 K
【知会】小程序插件的大小是会算进小程序代码包2M体积限制中的。因此当我们发现开发者引用的插件体积大于200K时,会对开发者予以提示,避免出现上传阶段提示代码包体积超限,但是不知道为何超限的问题。
3. 图片和音频资源大小超过 200 K
【建议】小程序代码包里可以存放一些必要的静态资源(如tabbar的icon等);但其他非必要的静态资源体积过大会影响小程序代码包加载速度。因此我们建议图片、音频等静态资源体积大小超过200K时,将它们上传到CDN,用URL引入会是个更好的选择。
4. 主包存在仅被其他分包依赖的JS
【建议】当主包里存在一些JS文件只会被分包使用(而主包自己不使用)时,我们建议把这些JS文件从主包中拆分出去,放到对应的分包里,从而优化主包的加载速度。
5. 主包存在仅被其他分包依赖的组件
【建议】当主包里存在一些组件只会被分包使用(而主包自己不使用)时,我们建议把这些组件从主包拆分出去,并且可以使用 分包异步化 这个特性加载这些组件,从而优化主包的加载速度。
6. 存在无使用的插件
【必须】如果有无使用的插件,请将其从 app.json 中去除。不然它会占用代码包体积,也会延迟代码包加载的时间。
7. 存在无使用的组件
【必须】如果在对应页面JSON的 `usingComponents` 里声明的组件但是没有使用,请将其从 `usingComponents` 里去除。
8. 未开启JS压缩
【必须】在工具「详情」-「本地设置」中开启「上传代码时自动压缩脚本文件」的设置
9. 未开启WXML压缩
【必须】在工具「详情」-「本地设置」中开启「上传代码时自动压缩wxml文件」的设置
10. 未开启WXSS压缩
【必须】在工具「详情」-「本地设置」中开启「上传代码时自动压缩样式文件」的设置
11. 存在无依赖文件
【必须】在「代码质量」面板,点击「建议去除」后,可以打开代码依赖分析面板的「无依赖文件」页面,这里可以看到代码包里没有被用到的文件。请在代码包中去除这部分文件,减小体积并优化加载速度。
在本地开发的过程中,会自动过滤无依赖的文件,如果出现误过滤的情况,可以在 project.config.json 的 setting 字段中添加 ignoreDevUnusedFiles 为 false,也可以在 packOptions 的 include 字段中手动将被忽略的文件引入,同时欢迎发帖反馈误报的情况提交代码片段帮助我们完善此功能
注意:页面若为配置在 app.json 中,将被识别为无依赖文件
12. 未开启组件懒注入(按需注入)
【必须】在 app.json 中加入 `"lazyCodeLoading": "requiredComponents"` 可以开启小程序组件按需注入特性。
其他优化内容,请点击学习《小程序性能优化实践》课程
震惊,我看了但是似乎又没看
都2022年了,还是2M我真是无语。天天想着怎么优化能减体积
2M的限制就不能调整吗,都22年了,家家公司产品代码包很小是吧,纯纯逆天
优化 === 不允许
未通过 === 超过2M
震惊,都2022年了,图片还需要我们上传到CND换成链接,代码还需要我们自己分包,AI人工写代码都出来了,这些都上传到你们云端,这些随便搞搞把我们图片替换CND地址,顺便帮我们分包就好了,1个人可以搞定的事,我们还要亿万程序员来做。
这不是优化指南,是斩钉截铁的一刀切规定,项目经过长时间的需求累计,主包限制2M内真的很难达到,一边是客户提的天马行空的需求,一边是微信公众平台这不近人情的一刀切规定,只剩下一群无辜的码农风中凌乱了。现在我们厂的小程序SaaS商城项目源码提交不上去了,只因为主包达到了1.98M,提示主包超过限制,我也没办法解决,该分出来的包都分了。现在不让上传提交了。那就这样吧!
以后1M一万块 你可以随便加哈哈哈哈哈哈
https://developers.weixin.qq.com/community/develop/doc/000ae03293c9887017dad464b5b800
lazyCodeLoading:requiredComponents配置之后第三方就出问题,第三方建议是删除这个配置。你们赶紧去打一架,谁赢了听谁的
解决不了问题,就删评论?
感谢官方的贴心指导,另外就是希望官方可以把主包大小升级,升级个8M的主包一个趋势.方便打造出更加方便用户的小程序.
通过uni-app编译的会检测到文件为无依赖文件?更新到1.05.2112301版本没有“上传代码时自动压缩wxml文件”选项?