Spec-Zone.ru › webpack 4

Статистика

Опция stats позволяет точно контролировать, какая информация о пакетах отображается. Это может быть хорошим компромиссом, если вы не хотите использовать quiet или noInfo, потому что вам нужна некоторая информация о пакетах, но не вся.

Для webpack-dev-server этот параметр должен находиться в объекте devServer.

Для webpack-dev-middleware этот параметр должен находиться в объекте options webpack-dev-middleware.

Эта опция не имеет никакого эффекта при использовании API Node.js.

stats

object string

Доступны некоторые предустановленные значения в качестве сокращения. Используйте их так:

module.exports = {
  //...
  stats: 'errors-only'
};
Предустановка Альтернатива Описание

'errors-only'

none

none Вывод только при возникновении ошибок

'errors-warnings'

none

none Вывод только при возникновении ошибок и предупреждений

'minimal'

none

none Вывод только при возникновении ошибок или новой компиляции

'none'

false

false Не выводить ничего

'normal'

true

true Стандартный вывод

'verbose'

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API