object
string
stats
选项让你可以精确控制显示哪些包信息。如果你不想使用 quiet
或 noInfo
,因为你想要一些包信息,但不是全部,这会是一个不错的折中方案。
module.exports = {
//...
stats: 'errors-only',
};
Webpack 提供了某些可用于 stats 输出的预设
预设 | 备选方案 | 说明 |
---|---|---|
'仅错误' | 无 | 仅在发生错误时输出 |
'错误警告' | 无 | 仅输出发生的错误和警告 |
'最小' | 无 | 仅在发生错误或新编译时输出 |
'无' | false | 不输出任何内容 |
'正常' | 真 | 标准输出 |
'详细' | 无 | 输出所有内容 |
'详细' | 无 | 输出除chunkModules 和chunkRootModules 之外的所有内容 |
'摘要' | 无 | 输出 webpack 版本、警告数和错误数 |
可以指定希望在统计信息输出中看到哪些信息。
当未定义选项时,stats 选项的备用值。它优先于本地 webpack 默认值。
module.exports = {
//...
stats: {
all: undefined,
},
};
布尔值 = true
告诉stats
是否显示资产信息。将stats.assets
设置为false
以隐藏它。
module.exports = {
//...
stats: {
assets: false,
},
};
字符串 = 'id'
告诉stats
按给定字段对资产进行排序。所有排序字段都可以用作stats.assetsSort
的值。在值中使用!
前缀以按给定字段反转排序顺序。
module.exports = {
//...
stats: {
assetsSort: '!size',
},
};
布尔值 = true
告诉stats
是否添加构建日期和构建时间信息。将stats.builtAt
设置为false
以隐藏它。
module.exports = {
//...
stats: {
builtAt: false,
},
};
布尔值 = true
告诉stats
是否添加有关模块中资产的信息。将stats.moduleAssets
设置为false
以隐藏它。
module.exports = {
//...
stats: {
moduleAssets: false,
},
};
数字 = 15
告诉stats
应显示多少个资产项(组将折叠以适应此空间)。
module.exports = {
//...
stats: {
assetsSpace: 15,
},
};
数字 = 15
告诉stats
应显示多少个模块项(组将折叠以适应此空间)。
module.exports = {
//...
stats: {
modulesSpace: 15,
},
};
数字 = 10
告诉stats
应显示多少个块模块项(组将折叠以适应此空间)。
module.exports = {
//...
stats: {
chunkModulesSpace: 15,
},
};
布尔值
告诉 stats
是否添加有关嵌套在其他模块中的模块的信息(例如使用模块连接)。
module.exports = {
//...
stats: {
nestedModules: true,
},
};
数字 = 10
告诉 stats
应显示多少个嵌套模块项(组将折叠以适应此空间)。
module.exports = {
//...
stats: {
nestedModulesSpace: 15,
},
};
stats.cachedModules
的旧版本。
布尔值 = true
告诉 stats
是否添加有关缓存(未构建)模块的信息。
module.exports = {
//...
stats: {
cachedModules: false,
},
};
布尔值 = true
告诉 stats
是否添加有关运行时模块的信息。
module.exports = {
//...
stats: {
runtimeModules: false,
},
};
布尔值
告诉 stats
是否显示块的依赖项块模块。
module.exports = {
//...
stats: {
dependentModules: false,
},
};
布尔值
告诉 stats
是否按资产与块的关系对资产进行分组。
module.exports = {
//...
stats: {
groupAssetsByChunk: false,
},
};
布尔值
告诉 stats
是否按资产的状态(已发出、已比较要发出或已缓存)对资产进行分组。
module.exports = {
//...
stats: {
groupAssetsByEmitStatus: false,
},
};
布尔值
告诉 stats
是否按资产的扩展名对资产进行分组。
module.exports = {
//...
stats: {
groupAssetsByExtension: false,
},
};
布尔值
告诉 stats
是否按资产信息(不可变、开发、热模块替换等)对资产进行分组。
module.exports = {
//...
stats: {
groupAssetsByInfo: false,
},
};
布尔值
告诉 stats
是否按资产路径对资产进行分组。
module.exports = {
//...
stats: {
groupAssetsByPath: false,
},
};
布尔值
告诉 stats
是否按模块的属性(错误、警告、资产、可选、孤立或依赖)对模块进行分组。
module.exports = {
//...
stats: {
groupModulesByAttributes: false,
},
};
布尔值
告诉 stats
是否按其缓存状态(已缓存或已构建且可缓存)对模块进行分组。
module.exports = {
//...
stats: {
groupModulesByCacheStatus: true,
},
};
布尔值
告诉 stats
是否按其扩展名对模块进行分组。
module.exports = {
//...
stats: {
groupModulesByExtension: true,
},
};
布尔值
告诉 stats
是否按其图层对模块进行分组。
module.exports = {
//...
stats: {
groupModulesByLayer: true,
},
};
布尔值
告诉 stats
是否按其路径对模块进行分组。
module.exports = {
//...
stats: {
groupModulesByPath: true,
},
};
布尔值
告诉 stats
是否按其类型对模块进行分组。
module.exports = {
//...
stats: {
groupModulesByType: true,
},
};
布尔值
按其源模块对 reasons
进行分组,以避免出现大量原因。
module.exports = {
//...
stats: {
groupReasonsByOrigin: true,
},
};
布尔值 = true
告诉 stats
是否添加有关缓存资产的信息。将 stats.cachedAssets
设置为 false
将告诉 stats
仅显示已发出的文件(而不是已构建的文件)。
module.exports = {
//...
stats: {
cachedAssets: false,
},
};
布尔值 = true
告诉 stats
是否添加有关子项的信息。
module.exports = {
//...
stats: {
children: false,
},
};
布尔值 = true
告诉 stats
是否添加有关块的信息。将 stats.chunks
设置为 false
会导致输出不那么详细。
module.exports = {
//...
stats: {
chunks: false,
},
};
布尔值 = true
告诉 stats
是否添加有关 namedChunkGroups
的信息。
module.exports = {
//...
stats: {
chunkGroups: false,
},
};
布尔值 = true
告诉 stats
是否将有关已构建模块的信息添加到有关块的信息中。
module.exports = {
//...
stats: {
chunkModules: false,
},
};
布尔值 = true
告诉 stats
是否添加有关块的来源和块合并的信息。
module.exports = {
//...
stats: {
chunkOrigins: false,
},
};
字符串 = 'id'
告诉 stats
按给定字段对块进行排序。所有 排序字段 都可以作为 stats.chunksSort
的值使用。在值中使用 !
前缀以按给定字段反转排序顺序。
module.exports = {
//...
stats: {
chunksSort: 'name',
},
};
字符串
统计基础目录,一个绝对路径,用于缩短请求信息。
const path = require('path');
module.exports = {
//...
stats: {
context: path.resolve(__dirname, 'src/components'),
},
};
默认情况下,使用 context
的值或 Node.js 当前工作目录。
boolean = false
object
告诉 stats
是否以不同的颜色输出。
module.exports = {
//...
stats: {
colors: true,
},
};
它还可以作为 CLI 标志
npx webpack --stats-colors
禁用
npx webpack --no-stats-colors
你可以使用 ANSI 转义序列 指定你自己的终端输出颜色
module.exports = {
//...
colors: {
green: '\u001b[32m',
},
};
boolean = false
告诉 stats
是否显示每个模块到入口点的距离。
module.exports = {
//...
stats: {
depth: true,
},
};
boolean = true
string = 'auto'
告诉 stats
是否显示带有相应包的入口点。
module.exports = {
//...
stats: {
entrypoints: false,
},
};
当 stats.entrypoints
设置为 'auto'
时,webpack 将自动决定是否在统计输出中显示入口点。
boolean = false
告诉 stats
是否显示 --env
信息。
module.exports = {
//...
stats: {
env: true,
},
};
boolean = false
告诉 stats
是否隐藏孤儿
模块。如果模块未包含在任何块中,则该模块为孤儿
。在 stats
中,孤儿模块默认隐藏。
module.exports = {
//...
stats: {
orphanModules: true,
},
};
布尔值 = true
告诉 stats
是否显示错误。
module.exports = {
//...
stats: {
errors: false,
},
};
boolean
string = "auto"
告诉 stats
是否将详细信息添加到错误中。它默认为 'auto'
,当错误少于或等于 2 个时,它将显示错误详细信息。
module.exports = {
//...
stats: {
errorDetails: false,
},
};
布尔值 = true
告诉 stats
是否显示错误的堆栈跟踪。
module.exports = {
//...
stats: {
errorStack: false,
},
};
number
指示 stats
限制分配给显示错误的行数。
module.exports = {
//...
stats: {
errorsSpace: 5,
},
};
array = []: string | RegExp | function (assetName) => boolean
string
RegExp
function (assetName) => boolean
指示 stats
排除匹配的资产信息。这可以通过 string
、RegExp
、一个获取资产名称作为参数并返回 boolean
的 function
来完成。stats.excludeAssets
可以是上述任何类型的 array
。
module.exports = {
//...
stats: {
excludeAssets: [
'filter',
/filter/,
(assetName) => assetName.contains('moduleA'),
],
},
};
array = []: string | RegExp | function (assetName) => boolean
string
RegExp
function (assetName) => boolean
boolean: false
指示 stats
排除匹配的模块信息。这可以通过 string
、RegExp
、一个获取模块源代码作为参数并返回 boolean
的 function
来完成。stats.excludeModules
可以是上述任何类型的 array
。stats.excludeModules
的配置 已合并 到 stats.exclude
的配置值中。
module.exports = {
//...
stats: {
excludeModules: ['filter', /filter/, (moduleSource) => true],
},
};
将 stats.excludeModules
设置为 false
将禁用排除行为。
module.exports = {
//...
stats: {
excludeModules: false,
},
};
布尔值 = true
指示 stats
是否添加有关编译哈希的信息。
module.exports = {
//...
stats: {
hash: false,
},
};
string = 'info': 'none' | 'error' | 'warn' | 'info' | 'log' | 'verbose'
boolean
指示 stats
是否添加日志输出。
'none'
、false
- 禁用日志记录'error'
- 仅限错误'warn'
- 仅限错误和警告'info'
- 错误、警告和信息消息'log'
、true
- 错误、警告、信息消息、日志消息、组、清除。折叠组以折叠状态显示。'verbose'
- 记录除调试和跟踪之外的所有内容。折叠组以展开状态显示。module.exports = {
//...
stats: {
logging: 'verbose',
},
};
array = []: string | RegExp | function (name) => boolean
string
RegExp
function (name) => boolean
指示 stats
包含指定记录器的调试信息,例如插件或加载器。当 stats.logging
设置为 false
时,将忽略 stats.loggingDebug
选项。
module.exports = {
//...
stats: {
loggingDebug: [
'MyPlugin',
/MyPlugin/,
/webpack/, // To get core logging
(name) => name.contains('MyPlugin'),
],
},
};
布尔值 = true
为错误、警告和跟踪启用日志输出中的堆栈跟踪。将 stats.loggingTrace
设置为隐藏跟踪。
module.exports = {
//...
stats: {
loggingTrace: false,
},
};
布尔值 = true
指示 stats
是否添加有关已构建模块的信息。
module.exports = {
//...
stats: {
modules: false,
},
};
字符串 = 'id'
指示 stats
按给定字段对模块进行排序。所有 排序字段 都可以作为 stats.modulesSort
的值使用。在值中使用 !
前缀可按给定字段反转排序顺序。
module.exports = {
//...
stats: {
modulesSort: 'size',
},
};
布尔值 = true
指示 stats
显示依赖关系以及警告/错误的来源。stats.moduleTrace
自 webpack 2.5.0 起可用。
module.exports = {
//...
stats: {
moduleTrace: false,
},
};
布尔值
指示 stats
显示优化为何对模块放弃的原因。
module.exports = {
//...
stats: {
optimizationBailout: false,
},
};
布尔值 = true
指示 stats
显示 outputPath
。
module.exports = {
//...
stats: {
outputPath: false,
},
};
布尔值 = true
当文件大小超过 performance.maxAssetSize
时,指示 stats
显示性能提示。
module.exports = {
//...
stats: {
performance: false,
},
};
string
boolean: false
设置预设,用于获取显示的信息类型。它对于扩展统计行为很有用。
module.exports = {
//...
stats: {
preset: 'minimal',
},
};
将 stats.preset
的值设置为 false
告诉 webpack 使用 'none'
统计预设。
boolean = false
告诉 stats
显示模块的导出。
module.exports = {
//...
stats: {
providedExports: true,
},
};
布尔值 = true
添加错误计数。
module.exports = {
//...
stats: {
errorsCount: false,
},
};
布尔值 = true
添加警告计数。
module.exports = {
//...
stats: {
warningsCount: false,
},
};
布尔值 = true
告诉 stats
显示 publicPath
。
module.exports = {
//...
stats: {
publicPath: false,
},
};
布尔值 = true
告诉 stats
添加有关模块包含原因的信息。
module.exports = {
//...
stats: {
reasons: false,
},
};
number
显示reasons
的空间(组将折叠以适应此空间)。
module.exports = {
//...
stats: {
reasonsSpace: 1000,
},
};
boolean = false
告诉 stats
是否添加有关与其他资产相关的资产的信息(如资产的 SourceMaps)。
module.exports = {
//...
stats: {
relatedAssets: true,
},
};
boolean = false
告诉 stats
添加模块的源代码。
module.exports = {
//...
stats: {
source: true,
},
};
布尔值 = true
告诉 stats
添加时间信息。
module.exports = {
//...
stats: {
timings: false,
},
};
boolean = false
告诉 stats
添加模块和块的 ID。
module.exports = {
//...
stats: {
ids: true,
},
};
boolean = false
告诉 stats
是否显示模块的哪些导出被使用。
module.exports = {
//...
stats: {
usedExports: true,
},
};
布尔值 = true
告知 stats
添加有关所用 webpack 版本的信息。
module.exports = {
//...
stats: {
version: false,
},
};
布尔值 = true
在 chunk 组中显示辅助资产。
module.exports = {
//...
stats: {
chunkGroupAuxiliary: false,
},
};
布尔值 = true
显示 chunk 组的子项(例如,预取、预加载的 chunk 和资产)。
module.exports = {
//...
stats: {
chunkGroupChildren: false,
},
};
number
在 chunk 组中显示的资产限制。
module.exports = {
//...
stats: {
chunkGroupMaxAssets: 5,
},
};
布尔值 = true
告知 stats
添加警告。
module.exports = {
//...
stats: {
warnings: false,
},
};
number
告知 stats
限制用于显示警告的行数。
module.exports = {
//...
stats: {
warningsSpace: 5,
},
};
array = []: string | RegExp | function (warning) => boolean
string
RegExp
function (warning) => boolean
告知 stats
排除与给定过滤器匹配的警告。这可以通过 string
、RegExp
、一个获取警告作为参数并返回 boolean
的 function
来完成。stats.warningsFilter
可以是上述任何内容的 array
。
module.exports = {
//...
stats: {
warningsFilter: ['filter', /filter/, (warning) => true],
},
};
boolean = false
告知 stats
显示 chunk 的父项、子项和同级项。
对于 assetsSort
、chunksSort
和 modulesSort
,有几个可能的字段可以用来对项目进行排序
'id'
- 项目的 id,'name'
- 导入时分配给项目的名称,'size'
- 项目的字节大小,'chunks'
- 项目的来源 chunk(例如,如果一个 chunk 有多个子 chunk:子 chunk 将根据其主 chunk 分组),'errors'
- 项目中的错误数量,'warnings'
- 项目中的警告数量,'failed'
- 项目是否编译失败,'cacheable'
- 项目是否可缓存,'built'
- 资产是否已构建,'prefetched'
- 资产是否将被预取,'optional'
- 资产是否可选。'identifier'
- 项目的标识符。'index'
- 项目的处理索引。'index2'
'profile'
'issuer'
- 发行者的标识符。'issuerId'
- 发行者的 ID。'issuerName'
- 发行者的名称。'issuerPath'
- 完整的发行者对象。无需按此字段排序。如果您想使用其中一个预设,例如 'minimal'
,但仍想覆盖一些规则:请指定所需的 stats.preset
,然后添加自定义或附加规则。
webpack.config.js
module.exports = {
//..
stats: {
preset: 'minimal',
moduleTrace: true,
errorDetails: true,
},
};