本节内容来自以下链接的内容,并受 CC BY 4.0 许可证约束。
如果未特别说明,以下内容可以认为是基于原始内容修改和删除的结果。
生成打包信息,可用于分析模块依赖关系并优化编译速度。
@rspack/cli
,rspack build --json stats.json
。stats.toJson(options)
、stats.toString(options)
。boolean | string | Object
{"preset":"errors-warnings","timings":true}
预设 | 描述 |
---|---|
'normal' (true ) |
输出统计选项的默认值 |
'none' (false ) |
不输出任何内容 |
'verbose' |
输出所有内容 |
'errors-only' |
仅输出与错误相关的的信息 |
'errors-warnings' |
仅输出与错误和警告相关的信息 |
'minimal' |
仅在出现错误或新的编译时输出 |
'detailed' |
输出所有内容,除了 chunkModules 和 chunkRootModules |
'summary' |
仅输出汇总信息 |
您可以指定要输出的打包信息,以下所有字段都是可选的。
boolean
undefined
当未定义选项时,stats 选项的回退值。它优先于本地的 Rspack 默认值。
启用 stats.all
将导致 Rust 和 JavaScript 之间大量的數據传输,这将显著增加统计信息生成的耗时。请谨慎使用。
boolean | string
undefined
设置 预设,用于要显示的信息类型。它对 扩展统计行为 有用。
boolean
true
是否显示资产信息。有关更多详细信息,请参见 资产对象。
string
"id"
根据给定字段对资产进行排序。所有 排序字段 都可以使用。在值中使用 !
前缀以根据给定字段反转排序顺序。
number
15
应显示多少个资产项(组将被折叠以适应此空间)。
boolean
false
是否显示与其他资产相关的资产信息(例如,资产的 SourceMaps)。
Array<string | RegExp | (name: string) => boolean> | string | RegExp | (name: string) => boolean | false
false
排除匹配的资产信息。这可以使用字符串、正则表达式或接收资产名称作为参数并返回布尔值的函数来完成。stats.excludeAssets
可以是上述任何一种的数组。
boolean
true
是否显示有关缓存资产的信息。将 stats.cachedAssets
设置为 false
将告诉 stats 仅显示已发出的文件(不包括已构建的文件)。
boolean
是否按资产与代码块的关系对资产进行分组。
boolean
是否按资产状态(已发出、与发出进行比较或已缓存)对资产进行分组。
boolean
是否按资产扩展名对资产进行分组。
boolean
是否按资产信息(不可变、开发、热模块替换等)对资产进行分组。
boolean
是否按资产路径对资产进行分组。
boolean
true
是否显示有关代码块的信息,有关更多详细信息,请参见 代码块对象。
boolean
true
是否显示有关构建模块的信息以获取有关代码块的信息。
number
10
应显示多少个代码块模块项(组将折叠以适应此空间)。
boolean
false
是否显示作为代码块其他模块的依赖项的代码块模块。
boolean
true
是否显示有关代码块和代码块合并来源的信息。
boolean
false
是否显示代码块父级、子级和同级。
string
"id"
按给定字段对代码块进行排序。所有 排序字段 都允许使用。在值中使用 !
前缀以按给定字段反转排序顺序。
boolean
false
是否显示模块和代码块的 ID。
boolean
true
是否显示有关 namedChunkGroups
的信息,有关更多详细信息,请参见 代码块组对象。
boolean
true
是否显示代码块组中的辅助资产。
boolean
true
是否显示代码块组的子级(例如,预取的、预加载的代码块和资产)。
number
5
代码块组中应显示多少个资产。
boolean | 'auto'
false
是否显示入口点及其对应的捆绑包,有关更多详细信息,请参见 入口点对象。
当 stats.entrypoints
设置为 'auto'
时,Rspack 将自动决定是否在 stats 输出中显示入口点。
boolean
true
是否显示有关构建模块的信息,有关更多详细信息,请参见 模块对象。
boolean
true
是否显示依赖项和警告/错误的来源。
boolean
true
是否添加有关模块内资产的信息。
number
15
应显示多少个模块项(组将折叠以适应此空间)。
string
"id"
按给定字段对模块进行排序。所有 排序字段 都允许使用。在值中使用 !
前缀以按给定字段反转排序顺序。
boolean
true
是否显示有关模块包含原因的信息。
number
1000
原因应显示多少个字符(组将折叠以适应此空间)。
boolean
false
是否显示模块的源代码。
boolean
false
是否显示每个模块到入口点的距离。
boolean
false
是否显示孤儿模块。
如果模块未包含在任何代码块中,则该模块为孤儿模块。
boolean
true
是否显示有关运行时模块的信息。
运行时模块是 Rspack 的内置模块,用于提供各种运行时功能。
boolean
true
是否显示有关缓存(未构建)模块的信息。
Array<string | RegExp | (name: string) => boolean> | string | RegExp | (name: string) => boolean | false
false
排除匹配的模块信息。这可以使用字符串、正则表达式或接收模块名称作为参数并返回布尔值的函数来完成。stats.excludeAssets
可以是上述任何一种的数组。
boolean
true
是否显示有关嵌套在其他模块中的模块的信息(例如,使用模块串联)。
number
10
应显示多少个嵌套模块项(组将折叠以适应此空间)。
boolean
是否按模块属性(错误、警告、资产、可选、孤儿或依赖项)对模块进行分组。
boolean
是否按模块缓存状态(缓存或构建并可缓存)对模块进行分组。
boolean
是否按模块扩展名对模块进行分组。
boolean
是否按模块路径对模块进行分组。
boolean
是否按模块类型对模块进行分组。
boolean
按原因的来源模块进行分组,以避免大量的原因。
boolean
false
是否显示模块的导出。
boolean
false
是否显示使用模块的哪些导出。
boolean
false
是否显示优化对模块跳出的原因。
boolean
true
是否显示错误。
boolean
true
是否显示错误计数。
boolean
false
是否显示错误的详细信息。默认值为 'auto'
,当只有 2 个或更少的错误时,将显示错误详细信息。
number
5
应显示多少行错误。
boolean
true
是否显示错误的堆栈跟踪。
boolean
true
是否显示警告。
boolean
true
是否显示警告计数。
number
5
应显示多少行警告。
'info' | 'none' | 'error' | 'warn' | 'log' | 'verbose' | boolean
是否添加日志输出
'none'
, false
: 禁用日志记录'error'
: 仅错误'warn'
: 仅错误和警告'info'
: 错误、警告和信息消息'log'
, true
: 错误、警告、信息消息、日志消息、组、清除。折叠的组以折叠状态显示。'verbose'
: 记录除调试和跟踪之外的所有内容。折叠的组以展开状态显示。Array<string | RegExp | function (name) => boolean>
是否显示指定 日志记录器(如插件或加载器)的调试信息。当 stats.logging
设置为 false
时,stats.loggingDebug
选项将被忽略。
boolean
true
是否在日志输出中显示错误、警告和跟踪的堆栈跟踪。
boolean
false
是否以不同的颜色输出。
在支持颜色输出的环境中执行 rspack build
时,默认值为 true
。
boolean
true
是否显示有关编译哈希的信息。
boolean
false
是否显示 --env
信息。
boolean
true
是否显示构建日期和构建时间信息。
boolean
true
是否添加关于所用 Rspack 版本的信息。
string
是否显示基础目录,一个绝对路径,用于缩短请求信息。
boolean
true
是否显示publicPath
。
boolean
true
是否显示output.path
。
boolean
true
是否显示output.path
。
boolean
true
当文件大小超过performance.maxAssetSize
时,是否显示性能提示。
boolean
true
是否显示计时信息。
对于assetsSort
、chunksSort
和 modulesSort
,您可以通过几个可能的字段对项目进行排序。
'id'
:项目的 id,项目可以是资产、模块或块。'name'
:导入时分配给项目的名称。'size'
:项目的字节大小。'chunks'
:项目源自哪些块(例如,如果一个块有多个子块:子块将根据其主块进行分组)。'errors'
:项目中的错误数量。'warnings'
:项目中的警告数量。'failed'
:项目是否编译失败。'cacheable'
:项目是否可缓存。'built'
:项目是否已构建。'prefetched'
:项目是否将被预取。'optional'
:项目是否可选。'identifier'
:项目的标识符。'index'
:项目的处理索引。'profile'
:项目的处理成本。'issuer'
:发行者的标识符。'issuerId'
:发行者的 id。'issuerName'
:发行者的名称。'issuerPath'
:完整的发行者路径。如果您想使用预设的输出行为,但想输出更多或更少的单个字段,您可以在指定预设或全部后自定义字段的输出行为。
例如,只输出错误和模块引入的原因。