Stats
对象会作为 rspack()
回调函数的第二个参数,可以通过它获取到一次 Compilation 执行过程中的信息,包括:
Stats
对象提供了两个重要方法:
toJson()
: 以 Stats JSON 对象的形式输出信息,常用于产物分析工具toString()
: 以字符串形式输出信息,常用于控制台输出同时 Rspack 也提供了 StatsFactory
和 StatsPrinter
来更细粒度地控制输出的对象或字符串。
通过 compilation.getStats()
或 new Stats(compilation)
以创建一个 Compilation 关联的 Stats 对象。
用来检查编译期是否有错误。
用来检查编译期是否有警告。
以 Stats JSON 对象形式返回编译信息。Stats 配置 可以是一个字符串(预设值)或是颗粒化控制的对象:
以格式化的字符串形式返回描述编译信息(类似 CLI 的输出)。
配置对象与 stats.toJson(options)
一致,除了额外增加的一个选项:
下面是 stats.toString()
用法的示例:
类型: Compilation
获取关联的 Compilation 对象。
类型: string
获取此次构建的哈希值,等同于 Compilation.hash
。
当使用 MultiCompiler
同时执行多个编译任务后,它们的编译结果将被包装为一个 MultiStats
对象,它提供与 Stats
类似的方法和属性。
类型: string
获取所有编译的哈希合并后的唯一哈希。
用来检查编译期是否有错误,只有所有编译都没有错误,才会返回 false
。
用来检查编译期是否有警告,只有所有编译都没有警告,才会返回 false
。
根据 Stats 配置 获取所有编译的 Stats JSON 对象,包裹在 children
字段中,并汇总 errors
和 warnings
。
根据 Stats 配置 拼接所有编译的 Stats 输出字符串。
用于从 Compilation 生成 Stats JSON 对象,并且提供了钩子以在生成过程中进行细粒度的控制。
可通过 compilation.hooks.statsFactory
获取。或者通过 new StatsFactory()
创建新实例。
StatsFactory
的核心方法,根据 type
指定当前数据结构,查找并运行对应的生成器以生成 Stats 项目。
StatsFactory
对象仅负责处理调用钩子,对应类型的处理代码的处理代码可在DefaultStatsFactoryPlugin
中找到。
用于从 Stats JSON 对象生成输出字符串,并且提供了钩子以在生成过程中进行细粒度的控制。
可通过 compilation.hooks.statsPrinter
获取。或者通过 new StatsPrinter()
创建新实例。
StatsPrinter
的核心方法,根据 type
指定当前数据结构,查找并运行对应的生成器以生成 Stats 项目的输出字符串。
StatsPrinter
对象仅负责处理调用钩子,对应类型的处理代码的处理代码可在DefaultStatsPrinterPlugin
中找到。