J'utilise MEAN, Angular 2, Node/Express, Angular-CLI et ng build --prod pour construire mon application et j'ai une parodie de code jetable commenté et un milliard de déclarations de débogage console.log dans toute mon application. Existe-t-il un moyen de faire en sorte que le processus de construction supprime tous les commentaires et les instructions console.log lors de la construction ? L'idée de le faire manuellement est effrayante !
Réponse
Trop de publicités?Vous pouvez cacher tous les console.log()
en production (angulaire) de deux manières.
Ils sont
- se cachant dans l'application angulaire
- en les guidant uniquement dans un composant particulier.
- Se cacher dans l'application
ouvrir main.ts
et ajoutez les lignes suivantes dans la condition de vérification de la production
if (environment.production) {
enableProdMode();
if (window) {
window.console.log = function() {};
}
}
ou
if (environment.production) {
enableProdMode();
window.console.log = function() {};
}
- Masquage dans un composant particulier uniquement
Ouvrez le fichier component.ts de ce composant et ajoutez le code suivant dans le crochet du cycle de vie ngOnInit
import { isDevMode } from '@angular/core';
....
ngOnInit() {
if (!isDevMode()) {
console.log = function() {};
}
}
Cela les masquera uniquement dans ce composant particulier.
Si vous voulez les cacher dans IE, veuillez vérifier este
si vous obtenez une erreur de linting pour ne pas avoir utilisé la fonction normale, remplacez-la par la fonction flèche suivante
console.log = () => {};
- Réponses précédentes
- Plus de réponses
0 votes
J'imagine que les commentaires sont déjà supprimés, avez-vous regardé le résultat ? Mais comment est-il censé savoir quels journaux sont des fonctionnalités et lesquels ne sont que des débogages ?
0 votes
Angular-cli utilise webpack sous le capot, qui fait déjà une sorte de manipulation du javascript pendant le processus d'empaquetage. Je crois qu'il y a des plugins pour webpack pour supprimer la journalisation de la console et aussi les commentaires pendant le processus de traitement, mais je ne suis pas sûr de savoir comment synchroniser cela avec angular-cli.
1 votes
Vous pouvez utiliser Gulp avec gulp-strip-debug. Consultez cet article pour plus d'informations.
1 votes
Veuillez supprimer les blocs commentés et les instructions console.log du CODE afin de préserver la santé mentale des futurs développeurs. C'est ainsi que les guerres commencent.