Webpack:無音出力


91

「重要な情報」のみを端末に記録するようにwebpackに指示する構成オプションがあるかどうか知りたいのですが。エラーと警告だけで、すべてではありません。

webpack付き端末の出力

たくさんの出力があります!一般的なものを抑制し、webpackに警告/エラーのみを出力させたいと考えています。以下のためのソリューションをご希望webpackwebpack-dev-serverkarma-webpack

:私が試したnoInfo: truequiet: trueが、トリックを行うようには見えなかったという。


編集:これは不可能かもしれないと思っているので、githubで問題を作成しました:https//github.com/webpack/webpack/issues/1191


1
コマンドラインでは、noInfoオプションは実際にはの逆であるように見えます--info。これはデフォルトであるtrueため、実行するwebpack-dev-server --info falseと、目的の場所に近づくはずです。
naartjie 2015年

1
それはwebpack-dev-serverでそれを行うようです...今、私がテストのためにそれを得ることができれば:-)
kentcdodds 2015年

1
誰かの好奇心ならば、ここで私は今、何を実行:NODE_ENV=development webpack-dev-server --content-base app/ --port 8888 --colors --progress --info false
kentcdodds

1
これも同様に機能します:NODE_ENV=development webpack-dev-server --content-base app/ --port 8888 --colors --progress --no-info
kentcdodds 2015年

ああ、--no-info知っておくといいですね、ありがとう
naartjie 2015年

回答:


57

私の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
  }
 }
}

4
よく働く!無効にする重要なものはhash, version, timings, assets, chunksです。
Neal Ehardt 2016


31

この機能がいつ追加されたかはわかりませんが、ドキュメントwebpackMiddlewareプロパティを追加でき、その上でを指定できることに気づきましnoInfo: true。これを行うと、すべてのノイズが除去されます!ただし、エラーが発生した場合でも出力は表示されます。わーい!


11

--display表示する情報量のレベルを選択できるオプションがあります。

差出人webpack --help

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

表示される情報をより正確に構成したい場合は、のstatsフィールドを使用してWebpackを構成することもできますwebpack.config.js


8

を使用しているwebpack-dev-middleware場合はnoInfo: true、2番目のパラメータとしてオブジェクトをスローできます。また、ノード/ Expressサーバーも実行していると仮定します。

ここに画像の説明を入力してください

乾杯。


Google検索がここで彼らをリードしているので、私は少し異なる構成で同様の問題を抱えている他の人々のためにこれを投稿しています。
leocreatini 2016年

1
webpack.config.jsnoInfo: truedevServer構成アイテムに追加することもできます。
チャドジョンソン

私のために働いた唯一のもの。webpackMiddlewareでも動作します。ありがとう、がらくた出力は私を夢中にさせていました。
doa 2017


2

以下の統計設定をお勧めします。これにより、重要なログが保持され、不要な情報が削除されます。

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

2

ここで興味があるのは、Webpackのモジュール(一部)です。基本的に、出力を生成するのこのモジュールです。デフォルトの出力には、ほとんどの場合、アセットのリストとモジュールのリストが含まれています。ディレクティブを使用してモジュールを非表示にすることができます。資産に関しては、同様のオプションはありません。ただし、プリセットがあります。オプションでプリセットを指定できます。そして、アセットを非表示にするプリセットは...です。stats --hide-modules--displaynone

統計に影響を与える別の方法があります:webpack.config.jsstats: {assets: false, modules: false}出力を大幅に減らすために追加します。またはstats: 'none'、Webpackを完全に無音にします。それは私がお勧めするわけではありません。一般的errors-onlyに行く方法です。影響を与えるwebpack-dev-serverには、devServerキーの下に置きます。

Webpack2.xには--displayオプションがありません。そして、モジュールを非表示にする唯一の方法は--hide-modulesスイッチです。stats: 'errors-only'つまりstats: {modules: false}、またはconfigで指定しても効果はありません。このコードはそれをすべてオーバーライドするからです。

以下の場合webpack-dev-serverもあります--no-infoし、--quietオプション。

それがどのように機能するかについてのもう少し洞察。オブジェクトをwebpack-cli作成しoutputOptionsます。コンパイルが終了すると、統計を文字列に変換して出力します。統計jsonStats.toString変換してから、json文字列に変換します。ここでデフォルトを確認できます。


1

Webpack APIを直接使用していて、を呼び出している場合はstats.toString()、パラメーターを渡してノイズを抑えることができます。

webpack(config).watch(100, (err, stats) => {
  console.log(stats.toString({chunks: false}))
})
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.