Il existe des plugins webpack conçus pour supprimer des types spécifiques d'instructions de console, selon la façon dont vous les configurez, de sorte que vous pouvez, par exemple, supprimer seulement console.debug
déclarations mais la dernière fois que j'ai essayé, je n'ai pas eu beaucoup de chance. Si vous créez une application React JS avec une version récente de React, par exemple 15.x, qui a été créée avec create-react-app
et que vous l'éjectez avec npm run eject
, vous disposez de deux configurations de pack Web distinctes. Vous pouvez modifier la configuration de production (/config/webpack.config.prod.js
) et de supprimer toute déclaration de la console de votre version de production en modifiant la configuration UglifyJsPlugin
existant dans la section plugins
afin qu'il ressemble à ceci:
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false,
// Disabled because of an issue with Uglify breaking seemingly valid code:
// https://github.com/facebookincubator/create-react-app/issues/2376
// Pending further investigation:
// https://github.com/mishoo/UglifyJS2/issues/2011
comparisons: false,
// Drop console statements
drop_console: true, // <--- ADD THIS
},
output: {
comments: false,
},
sourceMap: true,
}),
C'est tout ce que vous avez besoin à faire ... mais encore une fois, cela va supprimer toutes les déclarations console, pas seulement console.debug
La meilleure façon à mon avis est d'écrire un emballage pour chaque sortie de journalisation. Ceci peut ensuite être utilisé pour commuter des flux de sortie en production avec, par exemple, une commande telnet/ssh sur un port de débogage d'écoute. Cela vous permet d'activer/désactiver dynamiquement le déboguage sur un système en cours d'exécution et de permettre la journalisation à distance et bien d'autres fonctionnalités. – Maggistro