close

总览

RsdoctorRspackPlugin 插件

RsdoctorRspackPlugin 类由 @rsdoctor/rspack-plugin 导出,配置项是 RsdoctorRspackPluginOptions

esm
cjs
import { RsdoctorRspackPlugin } from '@rsdoctor/rspack-plugin';

new RsdoctorRspackPlugin({
  /** RsdoctorRspackPluginOptions */
});

RsdoctorWebpackPlugin 插件

RsdoctorWebpackPlugin 类由 @rsdoctor/webpack-plugin 导出,配置项是 RsdoctorWebpackPluginOptions

esm
cjs
import { RsdoctorWebpackPlugin } from '@rsdoctor/webpack-plugin';

new RsdoctorWebpackPlugin({
  /** RsdoctorWebpackPluginOptions */
});

配置项

类型: Object

这个 OptionsRsdoctorRspackPluginRsdoctorWebpackPlugin 的配置项。它包含以下属性值:

  • disableClientServer - 客户端服务控制:是否在分析完成后不自动打开 Rsdoctor 报告服务。
  • experiments - 实验性功能配置:启用 Rspack 插件的实验性功能,如原生插件性能优化。
  • features - 特性开关配置:控制 Rsdoctor 的各项分析功能,如 loader 分析、bundle 分析、规则检查等
  • output - 输出相关配置:控制报告的输出格式、目录等选项,包括 mode、options、reportCodeType 等
  • port - 服务端口配置:设置 Rsdoctor 开发服务器的端口号,用于本地开发时的报告预览
  • supports - 特性支持配置:启用特定构建工具的兼容性支持,如 BannerPlugin 等
  • brief - Brief 模式的配置:控制简要模式报告的生成,包括 HTML 文件名和是否生成 JSON 数据文件
  • mode - 构建报告数据输出模式:选择报告的输出模式,支持 normal(普通模式)和 brief(简要模式)

RsdoctorRspackPluginOptions

interface RsdoctorWebpackPluginOptions<
  Rules extends LinterType.ExtendRuleData[],
> {
  linter?: LinterType.Options<Rules, InternalRules>;

  /** Rsdoctor 功能开关 */
  features?:
    | Plugin.RsdoctorWebpackPluginFeatures
    | Array<keyof Plugin.RsdoctorWebpackPluginFeatures>;

  /**
   * @deprecated 使用 `output.mode` 代替,如果使用 `lite` 模式,请使用 `output.reportCodeType: 'noCode' or 'noAssetsAndModuleSource'` 代替
   * Rsdoctor 模式选项:
   * - normal: 普通模式
   * - brief: 简要模式,仅显示持续时间分析和构建产物分析结果,不显示任何代码部分
   */
  mode?: 'brief' | 'normal' | 'lite';

  disableClientServer?: boolean;

  supports?: ISupport;

  port?: number;

  /**
   * @deprecated 使用 `output.options.htmlOptions` 代替
   */
  brief?: Config.BriefConfig;

  output?: Config.IOutput<'brief' | 'normal'>;

  experiments?: RsdoctorRspackPluginExperiments;
}

interface RsdoctorRspackPluginExperiments {
  /**
   * 是否启用原生插件以提高性能
   * @default true
   */
  enableNativePlugin?: boolean;
}

RsdoctorWebpackPluginOptions

RsdoctorWebpackPlugin 同 Omit<RsdoctorRspackPluginOptions, 'experiments'> 类型。