Webpack: sortie de silence

J’aimerais savoir s’il existe une option de configuration pour indiquer à Webpack de ne consigner que les “informations importantes” sur le terminal. Juste des erreurs et des avertissements, pas tout:

sortie du terminal avec webpack

Il y a tellement de résultats! Aimerais supprimer les trucs communs et seulement avoir Webpack afficher les avertissements / erreurs. Voudrais une solution pour webpack , webpack-dev-server et karma-webpack .

Note : J’ai essayé noInfo: true and quiet: true mais ça ne semblait pas faire l’affaire.


Edit: Je pense que cela pourrait ne pas être possible, alors j’ai créé un problème sur github: https://github.com/webpack/webpack/issues/1191

Dans ma configuration Webpacking, cette opération réduisait de 8 secondes mon temps de construction incrémentiel et réduisait la sortie au silence. Le principal est des chunks: false

Jouez avec elle pour répondre à vos besoins

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

Je ne sais pas quand cette fonctionnalité a été ajoutée, mais je viens de remarquer dans les docs que vous pouvez append une propriété webpackMiddleware et que vous pouvez spécifier noInfo: true . Faire cela supprime tout le bruit! Mais vous voyez toujours la sortie quand il y a des erreurs. Yay!

👋 Vous n’avez pas besoin de tout ça. Tout ce dont vous avez besoin est le

En fait, ces deux fonctionnent très bien.

 stats: 'errors-only', 

à la fin de l’object exporté.

On pourrait aussi utiliser stats: 'minimal', il ne sort que lorsque des erreurs ou une nouvelle compilation se produisent. En savoir plus sur la documentation officielle de Webpack.

Si vous utilisez le webpack-dev-middleware vous pouvez lancer le noInfo: true dans un object comme second paramètre. En supposant également que vous avez également un nœud / serveur express en cours d’exécution.

entrer la description de l'image ici

À votre santé.

Webpack

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

Serveur de développement

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

Référence

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

Si vous utilisez directement l’API Webpack et que vous appelez stats.toSsortingng() , vous pouvez transmettre des parameters pour limiter le bruit:

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

Recommander stats config ci-dessous, cela gardera les journaux importants et supprimera les informations inutiles.

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

Vous avez l’option --display qui vous permet de choisir le niveau de quantité d’informations à afficher.

De webpack --help :

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

Si vous voulez configurer les informations affichées avec plus de précision, vous pouvez également configurer votre webpack avec le champ stats dans votre webpack.config.js .

Ce qui vous intéresse ici, c’est le module de stats (en partie) du Webpack . Fondamentalement, c’est ce module qui produit la sortie . La sortie par défaut contient principalement la liste des actifs et la liste des modules. Vous pouvez masquer les modules avec la directive --hide-modules . En ce qui concerne les actifs, aucune option similaire n’existe. Mais il y a des presets . Vous pouvez spécifier un préréglage avec l’option --display . Et le préréglage qui cache les actifs est … none .

Il existe un autre moyen d’influencer les statistiques: webpack.config.js . Ajouter des stats: {assets: false, modules: false} pour réduire la sortie de manière significative. Ou des stats: 'none' pour faire taire le Webpack entièrement. Pas que je le recommande. Généralement, les errors-only sont un moyen d’aller. webpack-dev-server placé sous la clé devServer

Webpack 2.x n’a pas l’option --display . Et le seul moyen de masquer les modules est --hide-modules switch. J’entends par là que spécifier stats: 'errors-only' ou stats: {modules: false} dans config n’a aucun effet. Puisque ce morceau de code remplace tout cela.

Pour webpack-dev-server il existe également des options --quiet --no-info et --quiet .

Un peu plus de détails sur son fonctionnement. webpack-cli crée outputOptions object outputOptions . Lorsque la compilation est terminée, les statistiques sont converties en chaîne et sortie . Stats.toSsortingng convertit les statistiques en json , puis convertit json en chaîne . Ici vous pouvez voir les valeurs par défaut .