J'ai un projet angular2 créé à partir de seed et j'ai ajouté plusieurs composants angulaires sur ma page initiale. Certains d'entre eux chargent des images - ce qui est relativement lent, mais le problème est le suivant:
Même après avoir réduit la taille du paquet, je crains que l'application ne démarre toujours pendant 1,5 seconde sans faire de demande, puis attendez à nouveau environ 1 seconde pour le chargement des ressources des composants. Je suppose que cela entraînera environ 3 secondes de temps de chargement. Mon application étant relativement simple, j'ai trouvé cela inacceptable.
Q1: Existe-t-il un moyen de charger les ressources du composant plus tôt et de simplement les référencer lors du chargement du composant?
Q2: Est-il possible d'accélérer le démarrage de l'application?
Je suis ouvert à d'autres suggestions aussi :)
Modifier:
J'utilise la compilation AoT, fournie avec la graine et j'ai pris des mesures pour réduire la taille du fichier app.js
. Le problème persiste avec le gap entre la fin du app.js
téléchargé et les appels de ressources du premier composant .
Ce que j'ai fait (pour l'instant) est uniquement sur le serveur:
Ces configurations de serveur étaient triviales sur NGINX et Apache, il valait donc la peine de les essayer.
Maintenant, bien que le site se charge beaucoup plus rapidement, ces modifications ne résolvent pas les problèmes initiaux (Problème 1 et Problème 2). Par conséquent, je suis à la recherche d’autres approches que vous voudrez peut-être également suivre si vous êtes à ma place:
Voici quelques matériaux qui m'ont aidé à augmenter la charge initiale:
Dans mon cas, le chargement paresseux joue un rôle important.
Q2: Vous pouvez accélérer le démarrage de l’application et réduire la taille de l’ensemble en implémentant la compilation Ahead of Time: https://angular.io/docs/ts/latest/cookbook/aot-compiler.html
Les modèles sont précompilés et tous les scripts sont préalablement générés, ce qui réduit le temps de traitement après le chargement initial. De plus, le compilateur Angular 2 n'est pas inclus dans votre paquet, ce qui devrait réduire considérablement la taille du paquet lui-même.
Q1: Il existe un support de chargement paresseux des composants, mais je n’ai pas cherché à comprendre ce qu’il implique. Quelqu'un d’autre pourrait peut-être répondre à cette question pour vous.
en tenant compte également de la réduction/de l’assemblage du js, activer gzip compression au niveau du serveur réduira le temps de chargement.