收藏
回答

主包大小超出2M,tabBar中包含了4个页面时如何通过分包减小主包的大小?

在首次尝试预览功能时,我们发现代码包大小超出了上限2048kb。考虑到这个上限在正式发布小程序时仍然存在,我们决定通过分包解决此问题。

我们所包含的所有页面如下图所示:

其中,和tabBar相连的页面有Paunch, Rank, Notify以及Profile。

经过查找资料,我们了解到和tabBar相关的页面和小程序的首页必须放在主包内,其他页面可以被分出去。我们的页面结构如下图所示。

可以看到,根据上述原理,大部分页面还是必须存在于主包中,不能被分离出去。比如,若是我们将与tabBar相连的Punch页面分离出去,则会出现灰色部分的报错。报错出现的具体操作是将 app.json 中的

"pages": [
    "pages/Login/index",
    "pages/Punch/index",
    "pages/Rank/index",
    "pages/Notify/index",
    "pages/Profile/index",
    "pages/Register/index",
    "pages/Change/index"


中的以下一行删去

"pages/Punch/index",


报错复制见下:

[ miniprogram/app.json 文件内容错误] miniprogram/app.json: ["tabBar"][0]["pagePath"]: "pages/Punch/index" need in ["pages"]



因此,主包中所包含的内容还是很多,主包大小还是很大。我们并不能通过分包将主包的大小减小到2048kb以下。

请问除了更改和tabBar绑定的页面和整体的UI逻辑,还有什么方法能解决我们现在的问题吗?或如果我们对以上概念有任何理解有误的地方,可否请您指出?谢谢!


回答关注问题邀请回答
收藏

3 个回答

  •  南风 .
     南风 .
    2021-03-31

    你把你的zip压缩包删除掉,你把你的zip压缩包删除掉,你把你的zip压缩包删除掉!你把压缩包放上去是让用户解压嘛.....

    2021-03-31
    有用 1
    回复
  • 有棱角的胖子
    有棱角的胖子
    2021-03-31

    7个页面6M 怎么厉害

    2021-03-31
    有用
    回复
  • 一π狐言
    一π狐言
    2021-03-31
    想分包的tabBar页做个跳转就好,把tabBar页东西挪到分包,然后tabBar页现在一进去就跳转到分包
    
    2021-03-31
    有用
    回复 6
    • 贝荣琪Roxanne ツ
      贝荣琪Roxanne ツ
      发表于移动端
      2021-03-31
      谢谢您提供的思路!请问是需要自定义tabBar嘛?
      2021-03-31
      回复
    • 一π狐言
      一π狐言
      2021-03-31回复贝荣琪Roxanne ツ
      就正常搁在app.json的简单tarbar
      2021-03-31
      回复
    • 一π狐言
      一π狐言
      2021-03-31回复贝荣琪Roxanne ツ
      静态资源要是大的话,可以放在腾讯cos/阿里oss这上走cdn
      2021-03-31
      回复
    • 贝荣琪Roxanne ツ
      贝荣琪Roxanne ツ
      发表于移动端
      2021-03-31回复一π狐言
      哦哦。我这样理解您看对嘛:(拿punch页面举个例子)把现在有的那个punch页面做成一个跳转的平台,点进去之后redirect到另外一个新的页面。新的页面包含了现在punch页面所包含的内容,然后把新的页面放在分包里。如理解有误还请您多加指正~
      2021-03-31
      1
      回复
    • 一π狐言
      一π狐言
      2021-03-31回复贝荣琪Roxanne ツ
      差不多,然后你看看redirect和reLaunch哪个更流畅就用哪个
      2021-03-31
      回复
    查看更多(1)
登录 后发表内容
问题标签