Gestion de la complexité JavaScript dans un grand projet

Que dois-je utiliser pour gérer un nombre croissant de fichiers JavaScript dans ma demande?

Nous construisons une application django avec plusieurs applications. Chaque application a des fonctionnalités différentes et doit être rendue dans trois modes différents (pc, tablette, mobile). Il y a beaucoup de choses en JavaScript: gérer les données reçues du serveur, gérer les événements utilisateur, injecter des extraits HTML et charger des sous-composants. Une partie de la fonctionnalité est partagée entre les applications et les modes de vue, mais il est souvent judicieux d'écrire des fonctions spécifiques (par exemple, les événements de survoltage et de clic peuvent être traités différemment sur une mise en page de PC par rapport à une disposition de tablette), nous groupons donc Ceci dans les fichiers basés sur l'application / mise en page / fonction.

Jusqu'à un certain point, nous utilisions une structure de fichiers plats avec nommage pour différencier les types de fichiers:

ui.common.js ui.app1.pc.handlers.js ui.app1.pc.domManupulators.js ui.app1.tablet.js ui.app2.pc.js ... 

À l'heure actuelle, cependant, comme le nombre d'applications (et les cas d'angle) de cette façon devient rapidement inutilisable (nous approchons de plus de 20 fichiers et nous attendons peut-être 40+ au moment où nous avons terminé), nous mettons tout en Des répertoires tels que:

 js/ common/ core1.js ajax2.js app1/ tablet.js pc.js app2/ mobile.js ... 

J'ai regardé JavaScriptMVC pour aider à cela. Bien qu'il offre des outils utiles, il ne semble pas avoir quelque chose qui permettrait spécifiquement de mieux gérer notre bibliothèque de JavaScript géante. Nous développons rapidement notre équipe dev et la capacité de maintenance du code est très importante.

Y a-t-il quelque chose qui puisse rendre notre vie plus facile? Existe-t-il des habitudes / règles que vous utilisez dans votre travail pour atténuer cela?

Backbone.js est utilisé pour organiser des applications lourdes javascript dans un modèle de modèle MVC. Il faudra de l'apprentissage, mais c'est certainement ce dont vous voudrez regarder et apprendre un peu, même si vous ne l'utilisez pas.

Il est utilisé sur de nombreux projets assez impressionnants

Et, voici un site pour en apprendre davantage sur les tutoriels.

Généralement, le regroupement de bibliothèques par communauté (comme votre deuxième exemple) serait préféré. Cependant, plus important serait de vous assurer que vous avez des espaces de noms ou les rends uniques, de sorte qu'il est peu probable que vous ayez nommé des collisions avec d'autres scripts potentiels.