收藏
评论

小程序性能优化指南官方

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

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

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


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

89 个评论

  • 青柠
    青柠
    2022-03-25

    不错不错,解决了对js文件进行压缩、启用组件按需注入、不应存在无依赖文件等问题

    2022-03-25
    赞同 1
    回复 2
    • 青柠
      青柠
      2022-03-25
      解决方法:在这个优化文档中ctrl+f查找到问题,然后先理解文档(当然很多时候文档啥用也没有),然后就直接去搜百度,百度上的大佬无所不能,总结一句话,搜搜搜完事了
      2022-03-25
      回复
    • 小武
      小武
      2022-07-24回复青柠
      这个项目或许可以帮助大佬优化体积:https://github.com/schizobulia/fc
      2022-07-24
      回复
  • Z
    Z
    2022-02-23

    性能扫描工具能不能去掉啊,莫名其妙更新完版本,告诉我项目提交不了了?

    2022-02-23
    赞同 1
    回复
  • Lotus.คิดถึง
    Lotus.คิดถึง
    2022-02-22

    你们是有毒吗,我的配置里面根本没有那个选项,导致预览都看不了


    2022-02-22
    赞同 1
    回复 12
    • 工号 9527
      工号 9527
      2022-02-23
      这个不会导致你预览都看不了的。你的appid是多少
      2022-02-23
      1
      回复
    • 工号 9527
      工号 9527
      2022-02-23
      你在project.config.json 的 setting 字段中添加 minifyWXML: true
      2022-02-23
      1
      回复
    • null
      null
      2022-03-08回复工号 9527
      2022-03-08
      回复
    • 嘴角上扬
      嘴角上扬
      2022-03-21
      按照上方说的在project.config.json 的 setting 字段中添加 minifyWXML: true,WXML压缩已解决
      2022-03-21
      回复
    • JIn
      JIn
      2022-04-19回复null
      你没发现报错了。你没加逗号吗,无语,,,,,,,,,
      2022-04-19
      4
      回复
    查看更多(7)
  • 开心由我
    开心由我
    2022-01-17

    3. 图片和音频资源大小超过 200 K

    我自己检查了没看到有超过200K的图片资源或者音频资源,可不可提示哪张图片超过200K点了之后能查看在哪里

    2022-01-17
    赞同 1
    回复 7
    • 龘靐齉齾麤龖龗鱻爩
      龘靐齉齾麤龖龗鱻爩
      2022-01-27
      应该是全部加起来超过了
      2022-01-27
      回复
    • Lance°
      Lance°
      2022-03-04回复龘靐齉齾麤龖龗鱻爩
      全部加上也没有200K也会提示的
      2022-03-04
      回复
    • JIn
      JIn
      2022-04-19回复Lance°
      其实是超过了。是看属性里的占用空间的
      2022-04-19
      回复
    • 是你呀!
      是你呀!
      2022-04-26
      图片全部搞成连接应该可以解决问题
      2022-04-26
      回复
    • 。
      2022-05-13
      解决了吗 这个问题
      2022-05-13
      回复
    查看更多(2)
  • 🇿
    🇿
    11-13

    好的哥

    11-13
    赞同
    回复
  • 可乐冒泡🥤
    可乐冒泡🥤
    07-23

    主包尺寸小于1.5M好少哇 2M都好说....

    07-23
    赞同
    回复
  • 夲木^_^
    夲木^_^
    07-16

    说白了就是,扛不住你就多用webview 嵌套,开发H5页面啊。我微信服务器资源有限,用你们自己的。

    07-16
    赞同
    回复
  • Đꪱꫛ꯭ꪱ꯭ᥴ꯭ꪊ꯭ꪶ꯭ꪺ .
    Đꪱꫛ꯭ꪱ꯭ᥴ꯭ꪊ꯭ꪶ꯭ꪺ .
    04-22

    做个好人 改一下大小吧

    04-22
    赞同
    回复
  • 🧸
    🧸
    04-01

    这两个js是分包里面的请求,主包里面根本没有用到,在打包的时候一直报这个错误


    04-01
    赞同
    回复 1
    • 工号 9527
      工号 9527
      04-02
      不能放分包里吗
      04-02
      回复
  • Vina.
    Vina.
    03-10

    依旧是2M 麻了

    03-10
    赞同
    回复

正在加载...

登录 后发表内容