AngularCli construire et le serveur --aot vs --prod
Je suis de la conversion d'un Angular2 application à l'aide de commonjs pour JiT et l'ancien mode de configuration manuelle de l'aot (deux index.html les fichiers, les deux principaux.les fichiers ts, etc) à la angular4 cli modèle (ng new appName
).
Il semble que beaucoup de choses ont changé autour de la cli entre 2/4. Regardé quelques vidéos sur youtube, a créé une nouvelle application avec la ng de la cli, et je vois que les deux ng build
et ng serve
soutien --prod
et --aot
des drapeaux, mais le générés webpacks sont différents en taille lors de l'utilisation de deux indicateurs différents.
Quelle est la différence entre
ng build --prod
et
ng build --aot
et puis pour servir:
ng serve --prod
et
ng serve --aot
il semble que la prod faisceaux sont plus petits que aot faisceaux, mais pourquoi?
--prod
est prod construire (ce sera plus petite)--aot
est en avance sur le temps de compilation.- Ouais mais qu'est-prod ne qui n'est pas encapsulé dans-aot?
- stackoverflow.com/questions/40205903/...
- prod aura de moins en moins les journaux de débogage et il va probablement faire plus de vérifications. Je pense que non prod construire même faire une double vérification de modification lorsque vous liez à
functions()
pour voir si il a réussi à détecter des changements correctement.
Vous devez vous connecter pour publier un commentaire.
de De liasses de “ng build --prod” plus petit que “build --prod --aot
Si vous utilisez certaines bibliothèques qui ne prennent pas en charge l'AoT (et la version UMD bundles) ce qui pourrait arriver. La raison en est que l'on ne peut pas optimiser les composants qui ne sont que pur JavaScript. Ce n'est pas quelque chose que l'on peut fixer sur notre côté, malheureusement.
Ces bibliothèques ont besoin d'exposer ES2015 modules avec leurs décorateurs enlevés et leurs composants/modules déjà AoT compilé. Nous travaillons sur les lignes directrices pour les bibliothèques à l'appui de deux JIT et AoT compilation.
Aussi, parfois, avec certains modèles de la AoT la taille peut être plus grand que le JIT. Le format des versions devrait être dans l'autre sens, comme la plupart des AoT contenu est le même, les déclarations répétées encore et encore.
Bien que le bundle est plus grand, le temps de chauffe devrait être nettement plus rapide.
--prod
- appliquer uglify et rapetisser à réduire l'ensemble et de faire angulaire de travail en mode de production qui réduit d'exécution des avertissements donnés par angulaire du compilateur ainsi augmenter les performances.--aot
- en général, quand nous servir angulaire du projet tous les angles les fichiers sont téléchargés sur le navigateur et les compiler et exécuter l'application sur le navigateur, mais dansaot
ensemble de l'application dans le navigateur est précompilé par conséquent améliore la performancebuild
- seront ensemble des fichiers et de le mettre dans le dossier dist de sorte que nous pouvons utiliser ceux de déploiement sur les serveurs.serve
- va lancer l'application sur lite server.--prod tourne sur AOT, vous n'avez pas besoin de passer les deux options. Voir cette section de la documentation: https://github.com/angular/angular-cli/wiki/build#--dev-vs---prod-builds
ng construire –prod OU ng construire
À l'aide de la
--prod
indicateur permet Angulaire de faire l'Avance de Temps de Compilation (AOT).AOT Avance Compilation
L'angle de l'Avance (AOT) du compilateur convertit vos Angulaire HTML et texte dactylographié code efficientes dans du code JavaScript au cours de la phase de construction avant que le navigateur télécharge et exécute le code.
Avantages de AOT:
1 - faits Saillants de l'erreur de compilation, d'exécution des exceptions et des erreurs avant l'exécution sur le navigateur d'où le nom de l'Avance (AOT).
2 - Si vous utilisez ng construire dans vos projets pour construire votre application si vous remarquez la taille du fichier de vendor.bundle.js et vendeur.bundle.js.carte fichiers dans votre répertoire de construction, il sera dans les MBS qui téléchargés pour les Navigateurs et faire de notre application trop chargé.
Mais d'un autre côté, si vous utilisez le drapeau
ng build –prod
vous remarquerez une diminution excessive de ces fichiers à 200 KBS signifie plus de 100 fois moindre taille.Donc je vous recommande d'utiliser le AOT dans le bâtiment de l'Angulaire de l'Application à l'aide de
--prod
drapeau.Et si vous souhaitez plus de la lecture et de l'information sur ce sujet, veuillez consulter le site suivant: https://angular.io/guide/aot-compiler