close
  • 简体中文
  • supports

    该选项用于控制详细的分析行为,例如 BannerPlugin 兼容、Bundle 解析和 gzip 大小计算。

    supportsTypes

    type ISupport = {
      banner?: boolean;
      parseBundle?: boolean;
      generateTileGraph?: boolean;
      gzip?:
        | boolean
        | {
            gzipLevel?: number;
          };
    };
    Danger

    supports.banner 分析仅用于调试,请勿将其用于生产。

    • 类型: boolean
    • 默认值: true

    如果开启 supports.banner 则会开启 Rsdoctor 对 BannerPlugin 的兼容逻辑。详细请看:支持 BannerPlugin

    generateTileGraph [Deprecated]

    Deprecated

    Rsdoctor 默认支持生成 Tree Map 图,所以不需要配置此选项。

    parseBundle

    • 类型: boolean
    • 默认值: true

    在部分大型仓库中,反解 Bundle 解析执行耗时过大,这是因为 Parse Bundle 的分析利用了 AST 解析与处理。当产物文件过多时,耗时也会增加。如果不需要此功能,可以通过 supports.parseBundle 配置进行选择性关闭。示例如下:

    chain.plugin('Rsdoctor').use(RsdoctorRspackPlugin, [
      {
        supports: {
          parseBundle: false,
        },
      },
    ]);

    关闭 Parse Bundle 能力只会影响是否能查看到 Bundle 中 Module 的最终打包大小(Bundled Size)及最终打包代码(Bundled Code):

    gzip

    • 类型: boolean | { gzipLevel?: number }
    • 默认值: true

    控制 Rsdoctor 是否计算 Asset 和 Module 的 gzip 大小。该计算只影响 Rsdoctor 报告中的大小数据,不会修改或压缩构建产物。

    gzip 大小计算默认开启,默认压缩级别为 6。将 gzip 配置为对象可以自定义 gzipLevel,其值必须是 09 之间的整数:

    new RsdoctorRspackPlugin({
      supports: {
        gzip: {
          gzipLevel: 9,
        },
      },
    });

    gzip 设置为 false 可以关闭 gzip 大小计算:

    new RsdoctorRspackPlugin({
      supports: {
        gzip: false,
      },
    });