针对于mako的codeSplitting

makojs

这玩意不支持windows

codeSplitting

  • 类型:false | { strategy: "auto" } | { strategy: "granular", options: object } | { strategy: "advanced", options: object }
  • 默认值:false

指定代码拆分策略。对于 SPA 使用 auto 或 granular 策略,对于 MPA 使用 advance 策略。

// auto 策略
{
  codeSplitting: {
    strategy: "auto";
  }
}
// granular 策略
{
  codeSplitting:  {
    strategy: "granular",
    options: {
      // 将被拆分到框架 chunk 的 Node 模块
      frameworkPackages: [ "react", "antd" ],
      // (可选)被拆分的 node 模块的最小大小
      libMinSize: 160000
    }
  }
}
// advance 策略
{
  codeSplitting: {
    strategy: "advanced",
    options: {
      //(可选)拆分 chunk 的最小大小,小于此大小的异步 chunks 将被合并到入口 chunk
      minSize: 20000,
      // 拆分 chunk 分组配置
      groups: [
        {
          // 分组的名称,当前只支持字符串值
          name: "common",
          //(可选)分组包含模块所属的 chunk 类型,枚举值为 "async"(默认)| "entry" | "all"
          allowChunks: "entry",
          //(可选)分组包含的模块的最小引用次数
          minChunks: 1,
          //(可选)分组生效的最小大小
          minSize: 20000,
          //(可选)分组的最大大小,超过此大小将自动再次拆分
          maxSize: 5000000,
          //(可选)分组的匹配优先级,值越大优先级越高
          priority: 0,
          //(可选)分组的匹配正则表达式
          test: "(?:)",
        }
      ],
    },
  }
}

posted on 2024-12-30 15:38  漫思  阅读(27)  评论(0)    收藏  举报

导航