web-dev-qa-db-fra.com

Joindre et compresser tous les fichiers javascript ensemble - une bonne idée?

Actuellement, j'évite de charger des scripts inutiles sur des pages individuelles de mon site. J'ai une classe qui se souvient de tous les fichiers javascript demandés lors du traitement de PHP et les ajoute au format HTML.

Je pensais juste que je pouvais fusionner le jeu de fichiers actuel, enregistrer le résultat dans un répertoire spécial et laisser le navigateur télécharger un seul fichier volumineux. Comme le nombre de combinaisons possibles n’est pas très élevé, il me faudrait environ 10 fichiers combinés pour des pages différentes.

Je n'ai jamais vu cela sur aucun site. Quelles sont les raisons pas de le faire? J'ai besoin d'un chargement de page très rapide.

1
Tomáš Zato

J'utilise moi-même cette technique pour des groupes de pages et j'en suis très heureux. J'ai aussi appris à envelopper mon Javascript dans un IFEE et à avoir uglify.js à le minimiser. C'est encore mieux.

Dans certains cas, parce que je peux avoir plusieurs combinaisons de javascripts pour plusieurs fichiers, je crée plusieurs IFEE et les minimise séparément. Je peux facilement y parvenir car j'utilise node.js, mais je suis sûr qu'il doit exister des solutions pour PHP.

Le regroupement de Javascript a pour avantage de réduire le nombre d'interactions avec le serveur, notamment lors de la définition d'une valeur d'expiration appropriée. Après l'avoir réduite, vous obtenez une vitesse supplémentaire lors de l'affichage de la page.

0
Jérôme Verstrynge

La réduction des demandes HTTP est l’un des meilleurs moyens de réduire votre temps de chargement. Par conséquent, il est préférable de servir un gros fichier JS pour l’ensemble de votre site. Donnez-lui une date d'expiration élevée et il sera mis en cache pendant longtemps, afin qu'un visiteur ne charge ce fichier qu'une seule fois.

Même s'il est peut-être un peu plus gros, vous économiserez beaucoup de temps de chargement en sauvegardant toutes les requêtes http. N'oubliez pas de changer l'URL de votre gros fichier JS chaque fois que votre javascript change, par exemple. en ajoutant un paramètre ?unique_hash.

Le même raisonnement est valable pour regrouper tous les CSS dans un seul fichier volumineux.

1
guaka