Webpack: выход тишины



Я хотел бы знать, есть ли опция конфигурации, чтобы сказать webpack только регистрировать "важную информацию" на терминале. В значительной степени просто ошибки и предупреждения, а не все это:



output of terminal with webpack



там просто так много выходных! Хотелось бы подавить общие вещи и только иметь webpack выводить предупреждения/ошибки. Хотелось бы решение для webpack,webpack-dev-server и karma-webpack.



Примечание: я пробовал noInfo: true и quiet: true но это похоже, это не сработало.





Edit: я думаю, что это может быть невозможно, поэтому я создал проблему на github:https://github.com/webpack/webpack/issues/1191

669   9  

9 ответов:

в моей конфигурации webpack это уменьшило мое инкрементное время сборки на 8 секунд и отключило вывод. Главное-это chunks: false

играть с ним, чтобы соответствовать вашим потребностям

module.exports = {
 devServer: {
  stats: {
    colors: true,
    hash: false,
    version: false,
    timings: false,
    assets: false,
    chunks: false,
    modules: false,
    reasons: false,
    children: false,
    source: false,
    errors: false,
    errorDetails: false,
    warnings: false,
    publicPath: false
  }
 }
}

Я не знаю, когда эта функция была добавлена, но я только заметил документы что вы можете добавить webpackMiddleware свойства и на что вы можете указать noInfo: true. Делая это удаляет все шумы! Но вы все равно видите вывод, когда есть ошибки. Ура!

вам не нужно все это. Все, что вам нужно-это

на самом деле, эти два работают отлично.

stats: 'errors-only',

В конце экспортируемого объекта.

можно использовать stats: 'minimal', Он выводит только тогда, когда происходят ошибки или новая компиляция. Подробнее из официальная документация Webpack.

Если вы используете webpack-dev-middleware вы можете скинуть noInfo: true в объекте в качестве второго параметра. также предполагая, что у вас также есть узел/экспресс-сервер работает.

enter image description here

Ура.

Webpack

  ...
  stats: {
    modules: false,
  },
  ...

Dev Server

  ...
  devServer: {
    stats: {
      modules: false,
    },
  },
  ...

ссылка

https://webpack.js.org/configuration/stats/

у тебя есть --display опция, которая позволяет выбрать уровень количества информации, которую вы хотите отобразить.

С webpack --help:

--display: Select display preset
[string] [choices: "", "verbose", "detailed", "normal", "minimal", "errors-only", "none"]

если вы хотите настроить информацию, отображаемую более точно, вы также можете настроить свой веб-пакет с помощью статистика

Если вы используете API Webpack напрямую, и вы вызываете stats.toString(), затем вы можете передать параметры, чтобы снизить шум:

webpack(config).watch(100, (err, stats) => {
  console.log(stats.toString({chunks: false}))
})

рекомендовать статистику конфигурации ниже, это будет держать значительные журналы и удалить бесполезную информацию.

stats: {
  cached: false,
  cachedAssets: false,
  chunks: false,
  chunkModules: false,
  chunkOrigins: false,
  modules: false
}

то, что вас интересует здесь statsмодуль (части)Webpack. В принципе, именно этот модуль производит выход. Вывод по умолчанию в основном содержит список активов и список модулей. Вы можете скрыть модули с помощью . И предустановка, которая скрывает активы есть... none.

есть еще один способ повлиять на статистику:webpack.config.js. Добавить stats: {assets: false, modules: false} значительно уменьшить выход. Или stats: 'none' чтобы заставить замолчать Webpack полностью. Не то чтобы я это рекомендовал. Вообще errors-only - это путь. Чтобы это повлияло webpack-dev-server положите его под devServer ключ.

Webpack 2.х нет . И единственный способ скрыть модули-это --hide-modules переключатель. Под этим я подразумеваю, что указание stats: 'errors-only' или stats: {modules: false} в config не имеет никакого эффекта. С этой часть кода переопределяет все это.

на webpack-dev-server также --no-info и --quiet параметры.

еще немного понимания того, как это работает. webpack-cli создает outputOptions объект. Когда компиляция заканчивается, он преобразует статистику в строка и выходы его. Stats.toString преобразование статистика до json, затем преобразует json к строка. Здесь вы можете увидеть по умолчанию.

Comments

    Ничего не найдено.