web-dev-qa-db-fra.com

Comment accélérer le processus de construction Angular

Après avoir apporté des modifications à mes fichiers TypeScript, chaque génération prend plus de 20 minutes. Je lance cette commande: ng build --output-path=..\..\static\angularjs.

Si je l'exécute dans Microsoft PowerShell, il faut 25 à 30 secondes. C'est beaucoup de temps.

Environnement

  • Windows 10
  • 8 Go de RAM
  • PyCharm 64
  • MS PowerShell

Comment puis-je accélérer cela?

21
michael-mammut

Mon application a pris 28 secondes à construire, mais j'ai réduit le temps à 9 secondes. Utilisation de ce drapeau

ng build --source-map=false

vous pouvez voir la différence de temps en comparant le temps:

ng build --stats-json 

ng build --stats-json --source-map=false

la carte source est uniquement destinée au débogage, espérons que cela aide

26

J'ai constaté que pour moi, ce problème était résolu en utilisant le drapeau watch, c'est-à-dire.

ng build --watch=true

Cela fonctionne en permanence et crée automatiquement des fichiers uniquement lorsqu'ils sont enregistrés. Le temps de construction est passé de 8 à <1 s pour les petits changements de code, car il ne génère que .js fichiers pour ce qui a réellement changé.

De https://angular.io/guide/deployment

Le ng build La commande génère des fichiers de sortie une seule fois et ne les sert pas.

Le ng build --watch La commande va régénérer les fichiers de sortie lorsque les fichiers source changent. Cette --watch flag est utile si vous créez pendant le développement et que vous redéployez automatiquement les modifications sur un autre serveur.

Vous devriez probablement utiliser ng build avec les options nécessaires lors de la construction pour la production afin que les optimisations nécessaires soient terminées.

12
nivlac

Selon https://github.com/angular/angular-cli/issues/6795 en utilisant --build-optimizer=false accélère la construction.

6
Chris Richner

En mode dev, vous pouvez changer cet indicateur pour votre développement en

"buildOptimizer": false

Cela a fonctionné pour moi. Angular 7.

3
I.Tyger

Cela a réduit mon temps de construction à 50%

          "optimization": false,
          "outputHashing": "none",
          "sourceMap": false,
          "extractCss": true,
          "namedChunks": false,
          "showCircularDependencies": false,
          "aot": true,
          "extractLicenses": false,
          "statsJson": false,
          "progress": true,
          "vendorChunk": true,
          "buildOptimizer": false,
1
dota2pro