close
CC 4.0 协议

本节内容派生于以下链接指向的内容 ,并遵守 CC BY 4.0 许可证的规定。

以下内容如果没有特殊声明,可以认为都是基于原内容的修改和删减后的结果。

Performance

performance 用于配置 Rspack 的性能提示机制,帮助你在构建阶段识别体积过大的输出结果。

它会根据资源(asset)体积和入口(entrypoint)总体积与阈值的比较结果,决定是否输出提示,并由 hints 决定提示级别(warning/error/关闭)。

你可以通过 maxAssetSizemaxEntrypointSize 设置预算阈值,并通过 assetFilter 排除不需要纳入统计的文件,从而让提示更符合项目的真实性能目标。

performance

  • 类型: false | object

performance 设为 false 可禁用性能提示功能:

rspack.config.mjs
export default {
  performance: false,
};

performance.assetFilter

  • 类型: (assetFilename: string) => boolean

用于筛选哪些资源会参与性能提示计算。返回 true 的文件会被纳入计算,返回 false 的文件会被忽略。

例如在性能提示计算时忽略 CSS 文件:

rspack.config.mjs
export default {
  performance: {
    assetFilter: (assetFilename) => !assetFilename.endsWith('.css'),
  },
};

performance.hints

控制是否启用性能提示,以及提示级别:

  • false:关闭性能提示
  • 'warning':以警告形式提示
  • 'error':以错误形式提示,会使构建失败

例如将性能提示视为构建错误:

rspack.config.mjs
export default {
  performance: {
    hints: process.env.NODE_ENV === 'production' ? 'error' : false,
  },
};

performance.maxAssetSize

  • 类型: number
  • 默认值:250000

设置单个资源体积阈值(单位:bytes)。当某个资源超过该值时,Rspack 会触发性能提示。

降低单个资源体积上限,以更早发现体积过大的文件:

rspack.config.mjs
export default {
  performance: {
    maxAssetSize: 100000,
  },
};

performance.maxEntrypointSize

  • 类型: number
  • 默认值:250000

设置入口总体积阈值(单位:bytes)。这里的入口总体积指初始加载该入口时需要的所有资源总体积,当入口总体积超过该值时,Rspack 会触发性能提示。

例如设置入口总体积阈值为 500 KB:

rspack.config.mjs
export default {
  performance: {
    maxEntrypointSize: 500000,
  },
};