微信小程序打包,主包和分包都小于2m,却上传失败

文章发布于2021年06月04日 15:21, 归类于: 前端

微信小程序打包上传失败,小程序已经分包,而且主包和各个分包都小于2m。

排查了好久,最好发现问题出在分包预加载(preloadRule),单次下载的分包大于2MB了。

分包预下载

解决

合理分配预下载(preloadRule)的分包大小,每次预加载的分包大小不要超过2MB。

预下载限制

同一个分包中的页面享有共同的预下载大小限额 2M,限额会在工具中打包时校验。

如,页面 A 和 B 都在同一个分包中,A 中预下载总大小 0.5M 的分包,B中最多只能预下载总大小 1.5M 的分包。

示例说明

包名 大小
主包(APP 1.5MB
分包(pages/A/page/) 0.5MB
分包(pages/B/page/) 1.5MB

下面是 app.json 的分包预下载配置。

	"pages": [
		{
			"path": "pages/Common/page/Home/Home",
			"style": {
				"navigationBarTitleText": "首页"
			}
		},
    {
			"path": "pages/Common/page/Login/Login",
			"style": {
				"navigationBarTitleText": "登录"
			}
		}
	],
 "subPackages":[{
  "root": "pages/A/page/",
  "pages": [{
    "path": "p1/p1",
    "style": {
      "navigationBarTitleText": "p1"
    }
  }]
},
{
  "root": "pages/B/page/",
  "pages": [{
    "path": "p2/p2",
    "style": {
      "navigationBarTitleText": "p2"
    }
  }]
}
],
  "preloadRule": {
  "pages/Common/page/Home/Home": {
    "network": "all",
      "packages": [
        "pages/A/page/"
      ]
  },
  "pages/Common/page/Login/Login": {
    "network": "all",
      "packages": [
        "__APP__",
        "pages/A/page/",
        "pages/B/page/"
      ]
  }
}
页面 预下载总大小 是否超限制
首页 0.5MB
登录 3.5MB

错误的示例

不管三七二十一,把所有分包都一次性加载,就连主包也预加载,这样会导致小程序无法上传。

转载请注明来源:《 微信小程序打包,主包和分包都小于2m,却上传失败》- rojerYong's Blog

文章链接:https://www.eoway.cn /article/1622791304.html

如果此文摘取了你的原创,请联系本站管理员,将对此文修改、删除处理。

--END--
上一篇:The file will have its original line endings in your working directory error 下一篇:微信公众号网页,微信jssdk需要刷新页面才可以使用