7
votes

Travailler sur de grandes applications JavaScript

Nos structures de fichiers sont plutôt bonnes et organisent des fonctionnalités dans des dossiers séparés. Ma question est de savoir comment les autres travaillent-ils sur des applications qui impliquent 500 fichiers JavaScript.

Nous avons écrit un plugin Maven pour concaténer ces fichiers ensemble (exécute également le compresseur YUI). Cependant, cela implique 3-10secondes de compilation pour chaque changement.

Est-ce que cette étape est nécessaire pour l'organisation d'une grande application, je me sens comme un fichier HTML bien structuré en tirant dans toutes ces ressources, sauveriez-moi 45 minutes tous les jours.


2 commentaires

Vous devriez vraiment penser à utiliser Flash ou Silverlight


Regardez sur Info sur LabJS, EXQUJS, peut-être dojo. Il existe des solutions de dépendance sophistiquées là-bas.


3 Réponses :


0
votes

La solution est susceptible de concaténer et de compresser uniquement les tests d'utilisateurs et la production uniquement.

Pour le développement, il est probablement préférable de les importer tout simplement dans le fichier HTML. Il accélère le processus DEV et simplifie également le débogage. Il permet également au navigateur de mettre en cache certains de ces fichiers.

Lorsque vous ne pouvez pas compter sur des copies en cache (qui, avec 500 fichiers, je ne pense pas être très souvent), il ralentira les temps de charge.


0 commentaires

1
votes

Pour mon propre Projets-cadre , généralement des services de surveillance, de test ou de page à orchestrer les autres Toolkits (mais pas aussi haut que votre compte de fichier), mon approche a été de cibler les fichiers individuels et chargés de manière dynamique pendant le développement. Pour le test, je vais exécuter une construction pour compresser et modifier les fichiers individuels, et tester à nouveau les fichiers individuels car, en fonction de la commande de concaténation, de la technique de compression et du navigateur, je peux émerger avec une erreur de script et une douleur à digez-le d'un fichier monstre. Troisièmement, je vais concaténer ensemble et tester une fois de plus.

Dans la référence HTML, je vais cibler le fichier non compressé, qui charge des dépendances spécifiées ou du fichier composé. Un fichier de bootstrap distinct Noms les dépendances, soit inclus dans le fichier composé, soit chargé de manière dynamique au besoin.

De cette façon, je peux ajouter ou modifier un fichier et commencer à développer et à tester sans reconstruire.


1 commentaires

Merci, d'excellents conseils ici. Je peux aussi essayer d'incorporer une solution de dépendance aussi.



0
votes

Vous pouvez économiser probablement beaucoup de temps en exécutant uniquement le compresseur de production. Le compresseur YUI est notoirement lent, car il utilise l'interprète Java Rhino pour analyser le JavaScript et l'analyser, etc.


0 commentaires