Статистика
Опция stats позволяет точно контролировать, какая информация о пакетах отображается. Это может быть хорошим компромиссом, если вы не хотите использовать quiet или noInfo, потому что вам нужна некоторая информация о пакетах, но не вся.
Для webpack-dev-server этот параметр должен находиться в объекте
devServer.
Для webpack-dev-middleware этот параметр должен находиться в объекте
optionswebpack-dev-middleware.
Эта опция не имеет никакого эффекта при использовании API Node.js.
stats
object string
Доступны некоторые предустановленные значения в качестве сокращения. Используйте их так:
module.exports = {
//...
stats: 'errors-only'
}; | Предустановка | Альтернатива | Описание |
|---|---|---|
|
none | none | Вывод только при возникновении ошибок |
|
none | none | Вывод только при возникновении ошибок и предупреждений |
|
none | none | Вывод только при возникновении ошибок или новой компиляции |
|
| false | Не выводить ничего |
|
| true | Стандартный вывод |
|
none | none | Выводить все |
Для более тонкого управления можно указать точно, какую информацию вы хотите. Обратите внимание, что все параметры в этом объекте являются необязательными.
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.builtAt
boolean = true
Указывает stats, нужно ли добавлять информацию о дате и времени сборки. Установите stats.builtAt в false, чтобы скрыть ее.
module.exports = {
//...
stats: {
builtAt: false
}
};
stats.cached
boolean = true
Указывает stats, нужно ли добавлять информацию о кэшированных модулях (не тех, которые были скомпилированы).
module.exports = {
//...
stats: {
cached: false
}
};
stats.cachedAssets
boolean = true
Указывает stats, нужно ли добавлять информацию о кэшированных активах. Установка stats.cachedAssets в false укажет stats, показывать только сгенерированные файлы (не те, которые были скомпилированы).
module.exports = {
//...
stats: {
cachedAssets: false
}
};
stats.children
boolean = true
Указывает stats, нужно ли добавлять информацию о дочерних элементах.
module.exports = {
//...
stats: {
children: false
}
};
stats.chunks
boolean = true
Указывает stats, нужно ли добавлять информацию о фрагменте. Установка stats.chunks в false приводит к менее подробному выводу.
module.exports = {
//...
stats: {
chunks: false
}
};
stats.chunkGroups
boolean = true
Указывает stats, нужно ли добавлять информацию о namedChunkGroups.
module.exports = {
//...
stats: {
chunkGroups: false
}
};
stats.chunkModules
boolean = true
Указывает stats, нужно ли добавлять информацию о скомпилированных модулях в информацию о фрагменте.
module.exports = {
//...
stats: {
chunkModules: false
}
};
stats.chunkOrigins
boolean = true
Указывает stats, нужно ли добавлять информацию об источниках фрагментов и слиянии фрагментов.
module.exports = {
//...
stats: {
chunkOrigins: false
}
};
stats.chunksSort
string = 'id'
Указывает stats, сортировать ли фрагменты по заданному полю. Все поля сортировки полей сортировки разрешается использовать в качестве значений для stats.chunksSort. Используйте префикс ! в значении для обратной сортировки по заданному полю.
module.exports = {
//...
stats: {
chunksSort: 'name'
}
};
stats.context
string = '../src/'
Устанавливает директорию контекста для сокращения информации о запросе.
module.exports = {
//...
stats: {
context: '../src/components/'
}
};
stats.colors
boolean = false object
Указывает stats, нужно ли выводить информацию в разных цветах.
module.exports = {
//...
stats: {
colors: true
}
}; Также доступно в качестве флага командной строки:
webpack-cli --colors
Вы можете указать собственные цвета вывода терминала с помощью последовательностей ANSI-экрана
module.exports = {
//...
colors: {
green: '\u001b[32m',
},
};
stats.depth
boolean = false
Указывает stats, нужно ли отображать расстояние от точки входа для каждого модуля.
module.exports = {
//...
stats: {
depth: true
}
};
stats.entrypoints
boolean = true
Указывает stats, нужно ли отображать точки входа с соответствующими пакетами.
module.exports = {
//...
stats: {
entrypoints: false
}
};
stats.env
boolean = false
Указывает stats, нужно ли отображать информацию --env.
module.exports = {
//...
stats: {
env: true
}
};
stats.errors
boolean = true
Указывает stats, нужно ли отображать ошибки.
module.exports = {
//...
stats: {
errors: false
}
};
stats.errorDetails
boolean = true
Указывает stats, нужно ли добавлять подробности к ошибкам.
module.exports = {
//...
stats: {
errorDetails: false
}
};
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.exclude
См. stats.excludeModules.
stats.hash
boolean = true
Указывает stats, нужно ли добавлять информацию о хэше компиляции.
module.exports = {
//...
stats: {
hash: false
}
};
stats.logging
string = 'info': 'none' | 'error' | 'warn' | 'info' | 'log' | 'verbose' boolean
Указывает stats, нужно ли добавлять вывод логирования.
-
'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, включать ли отладочную информацию указанных логгеров, таких как плагины или загрузчики. Когда stats.logging установлено в false, параметр stats.loggingDebug игнорируется.
module.exports = {
//...
stats: {
loggingDebug: [
'MyPlugin',
/MyPlugin/,
(name) => name.contains('MyPlugin')
]
}
};
stats.loggingTrace
boolean = true
Включить трассировку стека в выводе логов для ошибок, предупреждений и трассировки. Установите stats.loggingTrace для скрытия трассировки.
module.exports = {
//...
stats: {
loggingTrace: false
}
};
stats.maxModules
number = 15
Установить максимальное количество отображаемых модулей.
module.exports = {
//...
stats: {
maxModules: 5
}
};
stats.modules
boolean = true
Указывает stats, нужно ли добавлять информацию о скомпилированных модулях.
module.exports = {
//...
stats: {
modules: false
}
};
stats.modulesSort
string = 'id'
Указывает stats, сортировать ли модули по заданному полю. Все поля сортировки полей сортировки разрешается использовать в качестве значений для stats.modulesSort. Используйте префикс ! в значении для обратной сортировки по заданному полю.
module.exports = {
//...
stats: {
modulesSort: 'size'
}
};
stats.moduleTrace
boolean = true
Указывает stats отображать зависимости и источник предупреждений/ошибок. stats.moduleTrace доступен с webpack 2.5.0.
module.exports = {
//...
stats: {
moduleTrace: false
}
};
stats.outputPath
boolean = true
Указывает stats отображать outputPath.
module.exports = {
//...
stats: {
outputPath: false
}
};
stats.performance
boolean = true
Указывает stats отображать подсказки производительности, когда размер файла превышает performance.maxAssetSize.
module.exports = {
//...
stats: {
performance: false
}
};
stats.providedExports
boolean = false
Указывает stats отображать экспорт модулей.
module.exports = {
//...
stats: {
providedExports: true
}
};
stats.publicPath
boolean = true
Указывает stats отображать publicPath.
module.exports = {
//...
stats: {
publicPath: false
}
};
stats.reasons
boolean = true
Указывает stats добавлять информацию о причинах включения модулей.
module.exports = {
//...
stats: {
reasons: false
}
};
stats.source
boolean = false
Указывает stats добавлять исходный код модулей.
module.exports = {
//...
stats: {
source: true
}
};
stats.timings
boolean = true
Указывает stats добавлять информацию о времени.
module.exports = {
//...
stats: {
timings: false
}
};
stats.usedExports
boolean = false
Указывает stats отображать, какие экспорты модуля используются.
module.exports = {
//...
stats: {
usedExports: true
}
};
stats.version
boolean = true
Указывает stats добавлять информацию о версии webpack.
module.exports = {
//...
stats: {
version: false
}
};
stats.warnings
boolean = true
Указывает stats добавлять предупреждения.
module.exports = {
//...
stats: {
warnings: false
}
};
stats.warningsFilter
array = []: string | RegExp | function (warning) => boolean string RegExp function (warning) => boolean
Указывает stats исключать предупреждения, соответствующие заданным фильтрам. Это можно сделать с помощью string, RegExp, или function, который получает предупреждение в качестве аргумента и возвращает boolean. stats.warningsFilter может быть array любого из вышеперечисленных.
module.exports = {
//...
stats: {
warningsFilter: [
'filter',
/filter/,
(warning) => true
]
}
}; Поля сортировки
Для assetsSort, chunksSort и modulesSort доступны несколько полей для сортировки элементов:
-
'id'- идентификатор элемента; -
'name'- имя элемента, присвоенное при импорте; -
'size'- размер элемента в байтах; -
'chunks'- чанки, из которых происходит элемент (например, если для одного чанка есть несколько подчанков, подчанков будут сгруппированы по основному чанку); -
'errors'- количество ошибок в элементе; -
'warnings'- количество предупреждений в элементе; -
'failed'- произошла ли ошибка компиляции элемента; -
'cacheable'- кэшируется ли элемент; -
'built'- был ли построен элемент; -
'prefetched'- элемент будет предварительно загружен; -
'optional'- элемент является необязательным; -
'identifier'- идентификатор элемента; -
'index'- индекс обработки элемента; 'index2''profile'-
'issuer'- идентификатор издателя; -
'issuerId'- ID издателя; -
'issuerName'- имя издателя; -
'issuerPath'- полный объект издателя. Нет реальной необходимости сортировать по этому полю;
Расширение поведения stats
Если вы хотите использовать одно из предопределенных поведений, например, 'minimal', но при этом переопределить одну или несколько правил, см. исходный код. Вам необходимо скопировать параметры конфигурации из case 'minimal': ... и добавить ваши дополнительные правила, предоставив объект stats.
webpack.config.js
module.exports = {
//..
stats: {
// copied from `'minimal'`
all: false,
modules: true,
maxModules: 0,
errors: true,
warnings: true,
// our additional options
moduleTrace: true,
errorDetails: true
}
};
© JS Foundation and other contributors
Licensed under the Creative Commons Attribution License 4.0.
https://v4.webpack.js.org/configuration/stats