web-dev-qa-db-fra.com

Supprimer tous les commentaires et console.logs avec ng build --prod, c'est possible?

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 une console de débogage de milliards de dollars. consigner des instructions dans toute mon application. Existe-t-il un moyen pour que le processus de génération supprime tous les commentaires et les instructions console.log lors de sa génération? La pensée de le faire manuellement fait peur!

32
seanEd

J'ai une solution simple. Mettez ce code dans main.ts

if(env === 'prod') { // assuming you have env variable configured
  // check if window exists, if you render backend window will not be available 
  if(window){
      window.console.log = function(){};
   }
}  
26
Sudhakar

Ajoutez simplement cette window.console.log = function(){}; à `

if (environment.production) {
    enableProdMode();
}`
13
ahereza

Vous pouvez utiliser ng lint avec --fix drapeau et no-console règle dans le fichier de configuration tslint. Et connectez-le à votre appel de build dans votre fichier de package.

par exemple.: ... "prebuild": "ng lint --fix", "build": "ng build -prod", ...

et construisez l'application

npm run build

réf: https://github.com/angular/angular-cli/wiki/lint

4
Jan