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
Comment puis-je accélérer cela?
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
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.
Selon https://github.com/angular/angular-cli/issues/6795 en utilisant --build-optimizer=false
accélère la construction.
En mode dev, vous pouvez changer cet indicateur pour votre développement en
"buildOptimizer": false
Cela a fonctionné pour moi. Angular 7.
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,