1

Ces jours-ci je me retrouve à transférer de plus en plus de travail au client et donc mes fichiers JS ont tendance à devenir de plus en plus gros. Je suis arrivé au point où la plupart des pages HTML ont une demi-douzaine ou plus d'importations JS dans l'en-tête et je me suis rendu compte que cela fait mal les temps de chargement.JavaScript build options/tools

J'ai récemment découvert ce script qui vous permet de télécharger plusieurs fichiers JS avec une requête HTTP. Il est écrit en PHP et étant un fan de Django je prévois de le réécrire en Python. Je prévois d'utiliser une redirection HTTP vers le fichier pré-minifié et concaténé et je me demandais quel serait le coût d'un 301. S'il vous plaît laissez-moi savoir si c'est une idée stupide. D'autre part, je m'inquiète peu de l'introduction de la logique de script dans la distribution de fichiers statiques et je me demandais s'il existait une alternative de construction viable comme, disons, une tâche ant qui concatène et minimise les fichiers JS et remplace plusieurs JS téléchargements dans un en-tête HTML avec un gros, comme le fait le script.

Répondre

4

Pour PHP, je préfère certainement le faire de manière dynamique juste parce que si vous introduisez une étape de construction, vous perdez l'un des principaux avantages de l'utilisation de PHP. En fait, au risque de l'auto-promotion, j'ai écrit Supercharging Javascript in PHP à propos de ce problème.

Bien sûr, d'autres technologies peuvent varier.

Encore une fois c'est PHP mais ce n'est pas juste une bosse de code pour vous (bien que vous pouvez passer directement à Part 6 si vous voulez juste du code qui fonctionne) et peut vous aider à identifier les problèmes et faire les choses de la bonne façon et pourquoi vous les faites de cette façon. Je préfère avoir des paquets de fichiers Javascript (peut-être un seul pour l'ensemble de l'application) et chaque page active simplement le comportement dont elle a besoin par des moyens standard, mais tous les corps de code sont dans le fichier JS caché et minifié. Cela fonctionne le plus vite de cette façon et c'est une bonne façon de faire.

Si vous le voulez dans le cadre d'un processus de construction, ce qui est une solution raisonnable si vous avez un processus de construction de toute façon, alors je vous suggère de réduire votre code. Il y a beaucoup d'outils pour le faire. Jetez un oeil à YUI Compressor.

Si vous faites une combinaison statique de fichiers JS, les autres éléments mentionnés ci-dessus tels que gzipping et les problèmes associés sont toujours pertinents.