收藏
评论

小程序性能优化指南官方

开发者可通过开发者工具中的性能扫描工具提前发现代码中的可优化项:

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"` 可以开启小程序组件按需注入特性

其他优化内容,请点击学习《小程序性能优化实践》课程


相关主页:
3124381浏览
最后一次编辑于  07-24
知识库内容非实时更新,可能已过期、失效或不适用于当前情形,请谨慎参考
收藏
反馈

136 个评论

  • 🚩
    🚩
    2021-12-24

    震惊,我看了但是似乎又没看

    2021-12-24
    赞同 104
    回复 9
    • 冰天水月
      冰天水月
      2024-01-20
      震惊,和ZF报告一样,说了又好像没说
      2024-01-20
      11
      回复
    • lab
      lab
      2024-03-28
      现在好像是1.5M
      2024-03-28
      2
      回复
    • 年
      2024-06-20
      现在主包超过1.5M的上传不了?这怎么搞
      2024-06-20
      3
      回复
    • つ 不信つ
      つ 不信つ
      2024-07-22回复
      不会吧 我1.65M 都可以上传啊
      2024-07-22
      1
      回复
    • 新仔
      新仔
      2024-11-13回复
      弄分包啊
      2024-11-13
      回复
    查看更多(4)
  • 陶伟强
    陶伟强
    2022-03-21

    都2022年了,还是2M我真是无语。天天想着怎么优化能减体积

    2022-03-21
    赞同 57
    回复 88
    • 极
      2022-04-11
      现在都2022年了,还不知道怎么优化前端,改行吧
      2022-04-11
      3
      回复
    • 小李考研中📖💪
      小李考研中📖💪
      2022-05-04回复
      都2022年了,你写个前端会不超过1.5MB?
      2022-05-04
      34
      回复
    • 心暖与我安💝
      心暖与我安💝
      2022-05-12回复
      都2022年了,你还在写企业站吗?
      2022-05-12
      18
      回复
    • 暂无昵称
      暂无昵称
      2022-05-26回复
      都2022年了,你居然还没做过超过2M的东西,你改行吧。
      2022-05-26
      23
      回复
    • 零柒
      零柒
      2022-06-06
      都2022年了,你竟然就只做2M以内的东西,你改行吧
      2022-06-06
      19
      回复
    查看更多(83)
  • 浮生未ジ歇
    浮生未ジ歇
    2022-11-24

    就没人觉着很sb吗

    2022-11-24
    赞同 50
    回复 4
    • ઇ
      05-09
      很sb
      05-09
      2
      回复
    • 所幸仍有光
      所幸仍有光
      08-19
      特SB
      08-19
      1
      回复
    • 江淮
      江淮
      09-04
      非常SB
      09-04
      1
      回复
    • 土建华
      土建华
      09-24
      非常傻逼
      09-24
      回复
  • 阳关三戏
    阳关三戏
    2022-06-28

    2M的限制就不能调整吗,都22年了,家家公司产品代码包很小是吧,纯纯逆天

    2022-06-28
    赞同 24
    回复 13
    • 大海
      大海
      2022-11-20
      兄弟主包是2M,可以用分包,小程序总共是20M
      2022-11-20
      1
      回复
    • J.
      J.
      2023-03-19回复大海
      一看就没做过大项目  在怎么分包  主包也会超2M的
      2023-03-19
      11
      回复
    • 小余
      小余
      2023-10-11回复J.
      那是咋解决的
      2023-10-11
      回复
    • J.
      J.
      2023-10-23回复小余
      强制全部分包, pages里面就放一个页面loading,打开第一个页面跳转到另一个分包,这样主包直接全部清空大小
      2023-10-23
      5
      回复
    • 春燕衔泥
      春燕衔泥
      2023-10-25回复J.
      tabbar的页面也是主包里的啊,这怎么处理
      2023-10-25
      回复
    查看更多(8)
  • 家族刺客
    家族刺客
    03-10

    都2025年了还在为了2M上传不了发愁,引入了很多依赖必须要用,都在主包使用了,这特么怎么分包,能不能扩大点心胸给开发点活路

    03-10
    赞同 21
    回复 3
    • 远方
      远方
      05-20
      哈哈,无解,主包用了就无解
      05-20
      1
      回复
    • 所幸仍有光
      所幸仍有光
      08-19
      已经变成1.5M了
      08-19
      1
      回复
    • Q.
      Q.
      08-28
      这个条约真令人头大
      08-28
      回复
  • Mr.yang
    Mr.yang
    2022-05-18

    震惊,都2022年了,图片还需要我们上传到CND换成链接,代码还需要我们自己分包,AI人工写代码都出来了,这些都上传到你们云端,这些随便搞搞把我们图片替换CND地址,顺便帮我们分包就好了,1个人可以搞定的事,我们还要亿万程序员来做。

    2022-05-18
    赞同 18
    回复
  • MT
    MT
    2024-12-02

    都马上2025年了,微信小程序主包体积还是1.5M吗?

    2024-12-02
    赞同 15
    回复 1
    • 南露
      南露
      01-23
      是的,越来越猥琐(萎缩)了
      01-23
      5
      回复
  • WiTung
    WiTung
    2022-07-06

    优化 === 不允许

    未通过 === 超过2M


    2022-07-06
    赞同 15
    回复
  • OCH
    OCH
    2022-04-16

    这不是优化指南,是斩钉截铁的一刀切规定,项目经过长时间的需求累计,主包限制2M内真的很难达到,一边是客户提的天马行空的需求,一边是微信公众平台这不近人情的一刀切规定,只剩下一群无辜的码农风中凌乱了。现在我们厂的小程序SaaS商城项目源码提交不上去了,只因为主包达到了1.98M,提示主包超过限制,我也没办法解决,该分出来的包都分了。现在不让上传提交了。那就这样吧!

    2022-04-16
    赞同 13
    回复 19
    • OCH
      OCH
      2022-04-16
      很感谢微信提供公众平台,但是这个动不动就各种规定,各种条约,实在有点过了
      2022-04-16
      8
      回复
    • OCH
      OCH
      2022-04-16
      人家字节小程序是4M,支付宝小程序3M,微信小程序2M
      2022-04-16
      15
      回复
    • OCH
      OCH
      2022-04-16回复OCH
      不对,微信小程序主包1.5M
      2022-04-16
      11
      回复
    • 是你呀!
      是你呀!
      2022-04-26
      牛啊 
      以后1M一万块 你可以随便加哈哈哈哈哈哈
      2022-04-26
      4
      回复
    • Giauque
      Giauque
      2022-04-28回复是你呀!
      还是包月价格~哈哈
      2022-04-28
      7
      回复
    查看更多(14)
  • Zero
    Zero
    2022-04-01

    解决不了问题,就删评论?

    2022-04-01
    赞同 11
    回复

正在加载...

登录 后发表内容