32 votes

Comment définir globalement l'option preserveWhitespaces dans Angular à false ?

Depuis l'une des versions bêta de la version 5, Angular dispose d'une nouvelle option de compilateur, preserveWhitespaces . La propriété est mentionnée dans CompilerOptions type alias dans les documents. Les documents relatifs à la Component Décrire le décorateur son utilisation et mentionner que la valeur par défaut dans la version 5 est true (sans suppression des espaces).

J'ai vu la RP mais d'après ce que j'ai pu constater lors de quelques tests, la seule façon de l'utiliser est de fournir preserveWhitespace à chaque @Component métadonnées. Comment puis-je le définir comme false globalement, pour tous puis de le régler sur true seulement pour certains composants ?

1 votes

Vous dites donc que si vous définissez le angularCompilerOptions dans votre tsconfig.json il ne prennent-ils effet ? Pourriez-vous montrer une exemple minimal reproductible de l'installation ?

0 votes

@jonrsharpe Ah, c'est donc là que ça se passe. Pourriez-vous transformer votre commentaire en réponse ?

0 votes

@LazarLjubenovic, utilisez-vous angular cli ?

90voto

yurzui Points 85802

Ce sera faux par défaut à partir d'angular 6

Pour l'instant, en mode JIT, nous pouvons le définir comme faisant partie de Options de compilation :

main.ts

platformBrowserDynamic().bootstrapModule(AppModule, { preserveWhitespaces: false });

Pour aot, nous devons ajouter cette option à

tsconfig.app.json

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "baseUrl": "./",
    "module": "es2015",
    "types": []
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ],
  "angularCompilerOptions": {
    "preserveWhitespaces": false
  }
}

Angular-cli@1.4.5 exemple où vous trouverez les s'engager

Il y a aussi demande de fonctionnalité dans le repo d'angular-cli.

0 votes

Voulez-vous dire le tsconfig.app.json, parce que celui que vous avez tapé est une extension du tsconfig.json.

0 votes

Fonctionne bien, mon grand modèle baisse de 50 % le temps de rendu.

0 votes

Il est question ici d'un comportement agressif de preserveWhitespaces:false : github.com/angular/angular/issues/21049

1voto

SUHAIL KC Points 123

Afin de définir les options du compilateur angulaire dans la compilation AOT (ng serve --aot, ng build --prod), vous devez modifier le fichier tsconfig.app.json pour l'inclure :

"angularCompilerOptions": {
  "preserveWhitespaces": true
},

Afin de définir les options du compilateur angulaire dans la compilation JIT (ng serve), vous devez modifier main.ts, en particulier l'appel bootstrapModule :

platformBrowserDynamic().bootstrapModule(AppModule, {
  preserveWhitespaces: true
})
.catch(err => console.log(err));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X