Webpackに「重要な情報」のみを端末に記録するように指示する構成オプションがあるかどうかを知りたいです。ほとんどすべてのエラーと警告であり、このすべてではありません。
たくさんの出力があります!一般的なものを抑制し、webpackに警告/エラーのみを出力させます。 webpack
、webpack-dev-server
、およびkarma-webpack
。
注:noInfo: true
およびquiet: true
しかし、それはトリックを実行していないようでした。
編集:これは不可能かもしれないと考えているので、githubで問題を作成しました: https:// github。 com/webpack/webpack/issues/1191
この機能がいつ追加されたかはわかりませんが、 ドキュメント でwebpackMiddleware
プロパティを追加でき、その上でnoInfo: true
。これを行うと、すべてのノイズが除去されます!ただし、エラーがある場合でも出力が表示されます。わーい!
私の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
}
}
}
????あなたはすべてを必要としません。必要なのは
実際、これら2つは非常に効果的です。
stats: 'errors-only',
エクスポートされたオブジェクトの最後。
また、stats: 'minimal',
を使用して、エラーまたは新しいコンパイルが発生したときにのみ出力することもできます。 Webpackの公式ドキュメント から詳細を読む
表示する情報量のレベルを選択できる--display
オプションがあります。
webpack --help
から:
--display: Select display preset
[string] [choices: "", "verbose", "detailed", "normal", "minimal", "errors-only", "none"]
表示される情報をより正確に構成する場合は、webpack.config.js
の- stats フィールドを使用してwebpackを構成することもできます。
...
stats: {
modules: false,
},
...
...
devServer: {
stats: {
modules: false,
},
},
...
Webpack APIを直接使用しており、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
moduleWebpack の(一部)です。基本的に、 出力 を生成するのはこのモジュールです。デフォルトの出力には、ほとんどのアセットのリストとモジュールのリストが含まれています。 --hide-modules
ディレクティブを使用してモジュールを非表示にできます。資産に関しては、同様のオプションは存在しません。しかし、 プリセット があります。 --display
オプションでプリセットを指定できます。そして、アセットを隠すプリセットは... none
です。
統計に影響を与える別の方法があります:webpack.config.js
。 stats: {assets: false, modules: false}
を追加して、出力を大幅に削減します。または、stats: 'none'
でWebpackを完全に黙らせます。私がお勧めするわけではありません。一般に、errors-only
を使用する方法です。 webpack-dev-server
に影響を与えるには、devServer
キーの下に配置します。
Webpack 2.xには--display
オプションがありません。モジュールを非表示にする唯一の方法は、--hide-modules
スイッチです。つまり、構成でstats: 'errors-only'
またはstats: {modules: false}
を指定しても効果はありません。 this のコードがすべてをオーバーライドするため。
webpack-dev-server
には --no-info
および --quiet
オプションもあります。
それがどのように機能するかについてのさらなる洞察。 webpack-cli
は outputOptions
オブジェクト を作成します。コンパイルが終了すると、統計を string および outputs itに変換します。 Stats.toString
は stats を json に変換し、次に json を string に変換します。ここに デフォルト があります。