J'ai récemment mis à niveau de Angular v5.2.4 en partenariat avec Angular-CLI v1.7.4 vers Angular v6.0.3 en partenariat avec Angular-CLI v6.0.8.
Mon projet nécessite un compilateur JIT en raison de l'utilisation de composants dynamiques. Par conséquent, mon script de construction était: ng build --prod --no-aot
.
Je dois continuer à utiliser l'indicateur --prod
Pour conserver les avantages de l'agitation de l'arbre, de la minification du code et de l'élimination du code mort. Cependant, par défaut, --prod
Active AOT. L'option --no-aot
Était la solution pour désactiver AOT, tout en bénéficiant des avantages de la version --prod
.
J'ai essayé les options suivantes et comme vous pouvez le voir, aucune build n'a réussi (à l'exception d'une build --prod
Standard). Je ne reçois aucune information de la CLI non plus, ce qui n'est pas très utile:
J'ai lu les Official Angular Deployment Docs ainsi que les Official Angular-CLI build Wiki et je n'ai trouvé aucune information pour aider à résoudre ce problème.
Quelqu'un sait-il quel est le remplacement de l'option --no-aot
OR la nouvelle façon de faire un build --prod
Tout en désactivant AOT ?
Pour ce faire à partir de la ligne de commande, utilisez les options suivantes avec le --prod
option.
--aot=false --build-optimizer=false
La commande complète:
ng b --prod --aot=false --build-optimizer=false
Si vous préférez éviter de le faire à chaque fois sur la ligne de commande, vous pouvez modifier les options de génération de production dans angular.json.
Au chemin suivant dans le fichier
projects/your-project/achitect/build/configurations/production
Modifiez les options aot
et buildOptimizer
en false
. Ensuite, vous pouvez simplement exécuter ng b --prod
à partir de la ligne de commande, et vous obtiendrez une version de production qui n'inclut pas les aot
et build-optimizer
options.
Merci JB et Jon!