小程序: 分包(subpackages)

关于小程序体积大小超限度的问题
更新于: 2023-07-07 13:17:37

问题

CodeError: Error: {"errCode":-1,"errMsg":"inner upload fail with errcode: 80051, errmsg: source size 2069KB exceed max limit 2MB"}
gitlab 体积超限制截图

分析

  • js 体积大小问题在 uni-date-picker,约400K,这里可以优化
  • 图片:有部分存在本地的图片,可以转移到 oss 上去
  • commonjs 这部分600KB,尚可接受的大小
  • 此次的方案: 有个大模板 class-members: 好,就是你了,分包出去

分包

  • 正好: class-members 是一个独立的模板,而且体积还比较大

跳转

这里 /module-class-members/index/index?clazzId=${clazzId} 不是由 /pages 开头了。

export default {
  props: {
    model: {
      type: Object,
      default: () => ({})
    }
  },
  methods: {
    toClassMembers() {
      const { id: clazzId } = this.model;
      wx.navigateTo({ url: `/module-class-members/index/index?clazzId=${clazzId}` });
    },
    toSettings() {
      const { finished, id: clazzId } = this.model;
      wx.navigateTo({ url: `/pages/class-setting/index?clazzId=${clazzId}&finished=${finished}` });
    }
  }
};

遗留问题

目前采用 module-class-members 这种模板名,如果模块比较多的情况下,就会出现根目录很多个模块的存在。

等后续优化,模块的目录结构。

推荐改进分包方案: https://blog.csdn.net/qq_42661587/article/details/112347082

体积分析

参考