Статистика
object string
Опция stats позволяет точно контролировать, какая информация о пакете отображается. Это может быть хорошим компромиссом, если вы не хотите использовать quiet или noInfo, потому что вам нужна некоторая информация о пакете, но не вся.
module.exports = {
//...
stats: 'errors-only',
}; Наборы настроек вывода статистики
Webpack поставляется с определёнными наборами настроек для вывода статистики:
| Набор настроек | Альтернатива | Описание |
|---|---|---|
'errors-only' |
нет | Вывод только при возникновении ошибок |
'errors-warnings' |
нет | Вывод только ошибок и предупреждений |
'minimal' |
нет | Вывод только при возникновении ошибок или новой компиляции |
'none' |
false |
Не выводить ничего |
'normal' |
true |
Стандартный вывод |
'verbose' |
нет | Выводить всё |
'detailed' |
нет | Выводить всё, кроме chunkModules и chunkRootModules |
'summary' |
нет | Выводить версию webpack, количество предупреждений и ошибок |
Опции вывода статистики
Можно указать, какую информацию вы хотите увидеть в выводе статистики.
stats.all
Значение по умолчанию для опций stats, когда опция не определена. Имеет приоритет над локальными значениями webpack по умолчанию.
module.exports = {
//...
stats: {
all: undefined,
},
}; stats.assets
boolean = true
Указывает stats нужно ли показывать информацию об активах. Установите stats.assets в false, чтобы скрыть её.
module.exports = {
//...
stats: {
assets: false,
},
}; stats.assetsSort
string = 'id'
Указывает stats сортировать активы по заданному полю. Все поля сортировки полей сортировки могут быть использованы в качестве значений для stats.assetsSort. Используйте префикс ! в значении, чтобы перевернуть порядок сортировки по заданному полю.
module.exports = {
//...
stats: {
assetsSort: '!size',
},
}; stats.assetsSpace
number = 15
Указывает stats сколько элементов активов нужно отобразить (группы будут свернуты, чтобы поместиться в это пространство).
module.exports = {
//...
stats: {
assetsSpace: 15,
},
}; stats.builtAt
boolean = true
Указывает stats нужно ли добавлять дату и время сборки. Установите stats.builtAt в false, чтобы скрыть её.
module.exports = {
//...
stats: {
builtAt: false,
},
}; stats.cached
Старая версия stats.cachedModules.
stats.cachedAssets
boolean = true
Указывает stats нужно ли добавлять информацию о кэшированных активах. Установка stats.cachedAssets в false укажет stats отображать только сгенерированные файлы (а не те, которые были построены).
module.exports = {
//...
stats: {
cachedAssets: false,
},
}; stats.cachedModules
boolean = true
Указывает stats нужно ли добавлять информацию о кэшированных (не построенных) модулях.
module.exports = {
//...
stats: {
cachedModules: false,
},
}; stats.children
boolean = true
Указывает stats нужно ли добавлять информацию о дочерних элементах.
module.exports = {
//...
stats: {
children: false,
},
}; stats.chunkGroupAuxiliary
boolean = true
Отображать вспомогательные активы в группах ссылок.
module.exports = {
//...
stats: {
chunkGroupAuxiliary: false,
},
}; stats.chunkGroupChildren
boolean = true
Отображать дочерние элементы групп ссылок (например, предварительно загруженные, предварительно загруженные ссылки и активы).
module.exports = {
//...
stats: {
chunkGroupChildren: false,
},
}; stats.chunkGroupMaxAssets
number
Предельное количество активов, отображаемых в группах ссылок.
module.exports = {
//...
stats: {
chunkGroupMaxAssets: 5,
},
}; stats.chunkGroups
boolean = true
Указывает stats нужно ли добавлять информацию о namedChunkGroups.
module.exports = {
//...
stats: {
chunkGroups: false,
},
}; stats.chunkModules
boolean = true
Указывает stats нужно ли добавлять информацию о построенных модулях к информации о ссылке.
module.exports = {
//...
stats: {
chunkModules: false,
},
}; stats.chunkModulesSpace
number = 10
Указывает stats сколько элементов модулей ссылок нужно отобразить (группы будут свернуты, чтобы поместиться в это пространство).
module.exports = {
//...
stats: {
chunkModulesSpace: 15,
},
}; stats.chunkOrigins
boolean = true
Указывает stats нужно ли добавлять информацию об источниках ссылок и объединении ссылок.
module.exports = {
//...
stats: {
chunkOrigins: false,
},
}; stats.chunkRelations
boolean = false
Указывает stats отображать родительские, дочерние и родственные ссылки.
module.exports = {
//...
stats: {
chunkRelations: false,
},
}; stats.chunks
boolean = true
Указывает stats нужно ли добавлять информацию о ссылках. Установка stats.chunks в false приводит к менее подробному выводу.
module.exports = {
//...
stats: {
chunks: false,
},
}; stats.chunksSort
string = 'id'
Указывает stats сортировать ссылки по заданному полю. Все поля сортировки полей сортировки могут быть использованы в качестве значений для stats.chunksSort. Используйте префикс ! в значении, чтобы перевернуть порядок сортировки по заданному полю.
module.exports = {
//...
stats: {
chunksSort: 'name',
},
}; stats.colors
boolean = false { bold?: string, cyan?: string, green?: string, magenta?: string, red?: string, yellow?: string }
Указывает stats нужно ли выводить информацию в различных цветах.
module.exports = {
//...
stats: {
colors: true,
},
}; Он также доступен в качестве флага командной строки:
npx webpack --stats-colors
Чтобы отключить:
npx webpack --no-stats-colors
Вы можете указать собственные цвета вывода терминала, используя последовательности ANSI
module.exports = {
//...
colors: {
green: '\u001b[32m',
},
}; stats.context
string
Базовая директория статистики, абсолютный путь для сокращения информации о запросе.
const path = require('path');
module.exports = {
//...
stats: {
context: path.resolve(__dirname, 'src/components'),
},
}; По умолчанию используется значение context или текущая рабочая директория Node.js.
stats.dependentModules
boolean
Указывает stats нужно ли показывать модули ссылок, которые являются зависимостями от других модулей ссылки.
module.exports = {
//...
stats: {
dependentModules: false,
},
}; stats.depth
boolean = false
Указывает stats нужно ли отображать расстояние от точки входа для каждого модуля.
module.exports = {
//...
stats: {
depth: true,
},
}; stats.entrypoints
boolean = true "auto"
Указывает stats нужно ли отображать точки входа с соответствующими пакетами.
module.exports = {
//...
stats: {
entrypoints: false,
},
}; Когда stats.entrypoints установлено в 'auto', webpack автоматически определит, нужно ли отображать точки входа в выводе статистики.
stats.env
boolean = false
Указывает stats нужно ли отображать информацию --env.
module.exports = {
//...
stats: {
env: true,
},
}; stats.errorDetails
boolean "auto"
Указывает stats нужно ли добавлять детали к ошибкам. По умолчанию 'auto', что означает отображение деталей ошибок, когда есть 2 или меньше ошибок.
module.exports = {
//...
stats: {
errorDetails: false,
},
}; stats.errorStack
boolean = true
Указывает stats нужно ли отображать трассировку стека ошибок.
module.exports = {
//...
stats: {
errorStack: false,
},
}; stats.errors
boolean = true
Указывает stats нужно ли отображать ошибки.
module.exports = {
//...
stats: {
errors: false,
},
}; stats.errorsCount
boolean = true
Добавить количество ошибок.
module.exports = {
//...
stats: {
errorsCount: false,
},
}; stats.errorsSpace
5.80.0+number
Указывает stats ограничить количество строк для отображения ошибки.
module.exports = {
//...
stats: {
errorsSpace: 5,
},
}; stats.exclude
См. stats.excludeModules.
stats.excludeAssets
array = []: string | RegExp | function (assetName) => boolean string RegExp function (assetName) => boolean
Указывает stats исключить информацию о соответствующих активах. Это можно сделать с помощью string, RegExp, function, получающего имя актива в качестве аргумента и возвращающего boolean. stats.excludeAssets может быть array из вышеперечисленного.
module.exports = {
//...
stats: {
excludeAssets: [
'filter',
/filter/,
(assetName) => assetName.contains('moduleA'),
],
},
}; stats.excludeModules
array = []: string | RegExp | function (assetName) => boolean string RegExp function (assetName) => boolean boolean: false
Указывает stats исключить информацию о соответствующих модулях. Это можно сделать с помощью string, RegExp, function, получающего исходный код модуля в качестве аргумента и возвращающего boolean. stats.excludeModules может быть array из вышеперечисленного. Конфигурация stats.excludeModules сливается с значением конфигурации stats.exclude.
module.exports = {
//...
stats: {
excludeModules: ['filter', /filter/, (moduleSource) => true],
},
}; Установка stats.excludeModules в false отключит поведение исключения.
module.exports = {
//...
stats: {
excludeModules: false,
},
}; stats.groupAssetsByChunk
boolean
Указывает stats нужно ли группировать активы по их связи с ссылками.
module.exports = {
//...
stats: {
groupAssetsByChunk: false,
},
}; stats.groupAssetsByEmitStatus
boolean
Указывает stats нужно ли группировать активы по их статусу (выпущенные, сравниваемые для выпуска или кэшированные).
module.exports = {
//...
stats: {
groupAssetsByEmitStatus: false,
},
}; stats.groupAssetsByExtension
boolean
Указывает stats нужно ли группировать активы по их расширениям.
module.exports = {
//...
stats: {
groupAssetsByExtension: false,
},
}; stats.groupAssetsByInfo
boolean
Указывает stats нужно ли группировать активы по их информации (неизменяемые, разработка, hotModuleReplacement и т. д.).
module.exports = {
//...
stats: {
groupAssetsByInfo: false,
},
}; stats.groupAssetsByPath
boolean
Указывает stats нужно ли группировать активы по их пути.
module.exports = {
//...
stats: {
groupAssetsByPath: false,
},
}; stats.groupModulesByAttributes
boolean
Указывает stats нужно ли группировать модули по их атрибутам (ошибки, предупреждения, активы, необязательные, сироты или зависимости).
module.exports = {
//...
stats: {
groupModulesByAttributes: false,
},
}; stats.groupModulesByCacheStatus
boolean
Указывает stats нужно ли группировать модули по их статусу кэша (кэшированный или построенный и кэшируемый).
module.exports = {
//...
stats: {
groupModulesByCacheStatus: true,
},
}; stats.groupModulesByExtension
boolean
Указывает stats нужно ли группировать модули по их расширениям.
module.exports = {
//...
stats: {
groupModulesByExtension: true,
},
}; stats.groupModulesByLayer
boolean
Указывает, нужно ли группировать модули по слою.
module.exports = {
//...
stats: {
groupModulesByLayer: true,
},
}; stats.groupModulesByPath
boolean
Указывает, нужно ли группировать модули по пути.
module.exports = {
//...
stats: {
groupModulesByPath: true,
},
}; stats.groupModulesByType
boolean
Указывает, нужно ли группировать модули по типу.
module.exports = {
//...
stats: {
groupModulesByType: true,
},
}; stats.groupReasonsByOrigin
boolean
Группировать reasons по модулю-источнику, чтобы избежать большого набора причин.
module.exports = {
//...
stats: {
groupReasonsByOrigin: true,
},
}; stats.hash
boolean = true
Указывает, нужно ли добавлять информацию о хэше компиляции.
module.exports = {
//...
stats: {
hash: false,
},
}; stats.ids
boolean = false
Указывает, нужно ли добавлять идентификаторы модулей и фрагментов.
module.exports = {
//...
stats: {
ids: true,
},
}; stats.logging
string = 'info': 'none' | 'error' | 'warn' | 'info' | 'log' | 'verbose' boolean
Указывает, нужно ли добавлять вывод логов.
-
'none',false- отключить логирование -
'error'- только ошибки -
'warn'- только ошибки и предупреждения -
'info'- ошибки, предупреждения и информационные сообщения -
'log',true- ошибки, предупреждения, информационные сообщения, сообщения логов, группы, очищения. Свернутые группы отображаются в свёрнутом состоянии. -
'verbose'- отображать всё, кроме отладки и трассировки. Свернутые группы отображаются в развернутом состоянии.
module.exports = {
//...
stats: {
logging: 'verbose',
},
}; stats.loggingDebug
array = []: string | RegExp | function (name) => boolean string RegExp function (name) => boolean
Указывает, нужно ли включать отладочную информацию указанных логгеров, таких как плагины или загрузчики. Если stats.logging установлено в false, опция stats.loggingDebug игнорируется.
module.exports = {
//...
stats: {
loggingDebug: [
'MyPlugin',
/MyPlugin/,
/webpack/, // To get core logging
(name) => name.contains('MyPlugin'),
],
},
}; stats.loggingTrace
boolean = true
Включить трассировку стека в выводе логов для ошибок, предупреждений и трассировки. Установите stats.loggingTrace для скрытия трассировки.
module.exports = {
//...
stats: {
loggingTrace: false,
},
}; stats.moduleAssets
boolean = true
Указывает, нужно ли добавлять информацию об активах внутри модулей. Установите stats.moduleAssets в false для скрытия.
module.exports = {
//...
stats: {
moduleAssets: false,
},
}; stats.moduleTrace
boolean = true
Указывает, нужно ли отображать зависимости и происхождение предупреждений/ошибок. stats.moduleTrace доступен начиная с webpack 2.5.0.
module.exports = {
//...
stats: {
moduleTrace: false,
},
}; stats.modules
boolean = true
Указывает, нужно ли добавлять информацию о построенных модулях.
module.exports = {
//...
stats: {
modules: false,
},
}; stats.modulesSort
string = 'id'
Указывает, нужно ли сортировать модули по заданному полю. Все поля сортировки разрешено использовать в качестве значений для stats.modulesSort. Используйте префикс ! в значении, чтобы изменить порядок сортировки по заданному полю.
module.exports = {
//...
stats: {
modulesSort: 'size',
},
}; stats.modulesSpace
number = 15
Указывает, сколько элементов модулей должно быть отображено (группы будут сворачиваться для соответствия этому пространству).
module.exports = {
//...
stats: {
modulesSpace: 15,
},
}; stats.nestedModules
boolean
Указывает, нужно ли добавлять информацию о модулях, вложенных в другие модули (например, при конкатенации модулей).
module.exports = {
//...
stats: {
nestedModules: true,
},
}; stats.nestedModulesSpace
number = 10
Указывает, сколько элементов вложенных модулей должно быть отображено (группы будут сворачиваться для соответствия этому пространству).
module.exports = {
//...
stats: {
nestedModulesSpace: 15,
},
}; stats.optimizationBailout
boolean
Указывает, нужно ли отображать причины, по которым оптимизация была прервана для модулей.
module.exports = {
//...
stats: {
optimizationBailout: false,
},
}; stats.orphanModules
boolean = false
Указывает, нужно ли скрывать orphan модули. Модуль является orphan, если он не включен ни в один фрагмент. Модули-сироты по умолчанию скрыты в stats.
module.exports = {
//...
stats: {
orphanModules: true,
},
}; stats.outputPath
boolean = true
Указывает, нужно ли отображать outputPath.
module.exports = {
//...
stats: {
outputPath: false,
},
}; stats.performance
boolean = true
Указывает, нужно ли отображать подсказку производительности, когда размер файла превышает performance.maxAssetSize.
module.exports = {
//...
stats: {
performance: false,
},
}; stats.preset
string boolean: false
Устанавливает предустановку для типа информации, которая отображается. Это полезно для расширения поведения статистики.
module.exports = {
//...
stats: {
preset: 'minimal',
},
}; Установка значения stats.preset в false указывает webpack на использование 'none' предустановки статистики.
stats.providedExports
boolean = false
Указывает, нужно ли отображать экспорты модулей.
module.exports = {
//...
stats: {
providedExports: true,
},
}; stats.publicPath
boolean = true
Указывает, нужно ли отображать publicPath.
module.exports = {
//...
stats: {
publicPath: false,
},
}; stats.reasons
boolean = true
Указывает, нужно ли добавлять информацию о причинах включения модулей.
module.exports = {
//...
stats: {
reasons: false,
},
}; stats.reasonsSpace
number
Пространство для отображения reasons (группы будут свернуты для соответствия этому пространству).
module.exports = {
//...
stats: {
reasonsSpace: 1000,
},
}; stats.relatedAssets
boolean = false
Указывает, нужно ли добавлять информацию об активах, связанных с другими активами (например, SourceMaps для активов).
module.exports = {
//...
stats: {
relatedAssets: true,
},
}; stats.runtimeModules
boolean = true
Указывает, нужно ли добавлять информацию о модулях выполнения.
module.exports = {
//...
stats: {
runtimeModules: false,
},
}; stats.source
boolean = false
Указывает, нужно ли добавлять исходный код модулей.
module.exports = {
//...
stats: {
source: true,
},
}; stats.timings
boolean = true
Указывает, нужно ли добавлять информацию о времени.
module.exports = {
//...
stats: {
timings: false,
},
}; stats.usedExports
boolean = false
Указывает, нужно ли отображать, какие экспорты модуля используются.
module.exports = {
//...
stats: {
usedExports: true,
},
}; stats.version
boolean = true
Указывает, нужно ли добавлять информацию о версии webpack.
module.exports = {
//...
stats: {
version: false,
},
}; stats.warnings
boolean = true
Указывает, нужно ли добавлять предупреждения.
module.exports = {
//...
stats: {
warnings: false,
},
}; stats.warningsCount
boolean = true
Добавить количество предупреждений.
module.exports = {
//...
stats: {
warningsCount: false,
},
}; stats.warningsFilter
array = []: string | RegExp | function (warning) => boolean string RegExp function (warning) => boolean
Указывает, нужно ли исключать предупреждения, соответствующие заданным фильтрам. Это можно сделать с помощью string, RegExp, или function, принимающей предупреждение в качестве аргумента и возвращающей boolean. stats.warningsFilter может быть любым из вышеперечисленных.
module.exports = {
//...
stats: {
warningsFilter: ['filter', /filter/, (warning) => true],
},
}; stats.warningsSpace
5.80.0+number
Указывает, нужно ли ограничить количество строк, выделяемых для отображения предупреждения.
module.exports = {
//...
stats: {
warningsSpace: 5,
},
}; Поля сортировки
Для assetsSort, chunksSort, и modulesSort существует несколько возможных полей, по которым можно сортировать элементы:
-
'id'- идентификатор элемента, -
'name'- имя элемента, присвоенное при импорте, -
'size'- размер элемента в байтах, -
'chunks'- фрагменты, из которых происходит элемент (например, если есть несколько подфрагментов для одного фрагмента: подфрагменты будут сгруппированы по основному фрагменту), -
'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,
},
};
© JS Foundation and other contributors
Licensed under the Creative Commons Attribution License 4.0.
https://webpack.js.org/configuration/stats