J'aimerais savoir s'il existe une option de configuration pour indiquer à Webpack de ne consigner que les "informations importantes" sur le terminal. En gros, juste des erreurs et des avertissements, pas tous:
Il y a tellement de sortie! J'adorerais supprimer les éléments courants et ne faire en sorte que Webpack ne produise que les avertissements/erreurs. Souhaitez une solution pour webpack
, webpack-dev-server
et karma-webpack
.
Note: J'ai essayé noInfo: true
et quiet: true
mais cela ne semblait pas suffire.
Edit: Je pense que cela pourrait ne pas être possible. J'ai donc créé un problème sur github: https://github.com/webpack/webpack/issues/1191
Je ne sais pas quand cette fonctionnalité a été ajoutée, mais je viens de remarquer dans la documentation que vous pouvez ajouter une propriété webpackMiddleware
et que vous pouvez spécifier noInfo: true
. Faire cela supprime tout le bruit! Mais vous voyez toujours des résultats quand il y a des erreurs. Yay!
Dans ma configuration Webpack, cette opération réduisait mon temps de construction incrémentiel de 8 secondes et ma sortie en mode silencieux. Le principal est chunks: false
Jouez avec 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
}
}
}
???? Tu n'as 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'objet exporté.
On pourrait aussi utiliser stats: 'minimal',
, qui ne génère que des erreurs ou une nouvelle compilation Plus d'informations dans la documentation officielle de Webpack.
Vous disposez de l'option --display
qui vous permet de choisir le niveau de quantité d'informations que vous souhaitez afficher.
De webpack --help
:
--display: Select display preset
[string] [choices: "", "verbose", "detailed", "normal", "minimal", "errors-only", "none"]
Si vous souhaitez configurer les informations affichées plus précisément, vous pouvez également configurer votre pack Web avec le champ stats de votre webpack.config.js
.
...
stats: {
modules: false,
},
...
...
devServer: {
stats: {
modules: false,
},
},
...
Si vous utilisez directement l'API Webpack et que vous appelez stats.toString()
, vous pouvez alors passer des paramètres pour réduire le bruit:
webpack(config).watch(100, (err, stats) => {
console.log(stats.toString({chunks: false}))
})
Recommandez la configuration des statistiques ci-dessous, cela conservera des journaux importants et supprimera les informations inutiles.
stats: {
cached: false,
cachedAssets: false,
chunks: false,
chunkModules: false,
chunkOrigins: false,
modules: false
}
Ce qui vous intéresse ici est stats
module (une partie) de Webpack . En gros, c'est ce module qui produit la sortie . La sortie par défaut contient principalement une liste d'actifs et une liste de modules. Vous pouvez masquer des modules avec la directive --hide-modules
. En ce qui concerne les actifs, aucune option similaire n’existe. Mais il y a presets . Vous pouvez spécifier un paramètre prédéfini avec l'option --display
. Et le préréglage qui cache les actifs est ... none
.
Il existe un autre moyen d'influencer les stats: webpack.config.js
. Ajoutez stats: {assets: false, modules: false}
pour réduire la sortie de manière significative. Ou stats: 'none'
pour faire totalement taire Webpack. Pas que je le recommande. Généralement, errors-only
est une solution. Pour que cela affecte webpack-dev-server
, placez-le sous la clé devServer
.
Webpack 2.x n'a pas l'option --display
. Et le seul moyen de masquer les modules est le commutateur --hide-modules
. J'entends par là que spécifier stats: 'errors-only'
ou stats: {modules: false}
dans la configuration n'a aucun effet. Depuis this morceau de code remplace tout cela.
Pour webpack-dev-server
, il existe également --no-info
et --quiet
options.
Quelques informations supplémentaires sur son fonctionnement. webpack-cli
crée outputOptions
objet . Une fois la compilation terminée, il convertit les statistiques en string et output it. Stats.toString
convertit stats en json , puis convertit json en chaîne . Ici vous pouvez voir les valeurs par défaut .