¿Qué debo usar para administrar el número creciente de archivos JavaScript en mi aplicación?Administrar la complejidad de JavaScript en un proyecto grande
Estamos construyendo una aplicación django con varias aplicaciones. Cada aplicación tiene una funcionalidad diferente, y tiene que ser renderizada en tres modos diferentes (PC, tableta, móvil). Hay muchas cosas que suceden en JavaScript: administración de datos recibidos del servidor, manejo de eventos de usuario, inyección de fragmentos HTML y carga de subcomponentes. Parte de la funcionalidad se comparte entre las aplicaciones y los modos de visualización, pero a menudo tiene sentido escribir funciones específicas (por ejemplo, los eventos de desplazamiento y clic pueden tener que manejarse de forma diferente en un diseño de PC vs. un diseño de tableta), así que estamos agrupando esto en archivos basados en la aplicación/diseño/función.
hasta un punto que estábamos usando una estructura de archivo plano con el nombramiento de diferenciar tipos de archivos:
ui.common.js
ui.app1.pc.handlers.js
ui.app1.pc.domManupulators.js
ui.app1.tablet.js
ui.app2.pc.js
...
En este momento, sin embargo, como el número de aplicaciones (y los casos de esquina) crece de esta manera es rápido convertirse en unusuable (nos estamos acercando a más de 20 archivos y esperando tal vez de 40 en el momento en que hemos terminado), por lo que estamos poniendo todo en los directorios de este modo:
js/
common/
core1.js
ajax2.js
app1/
tablet.js
pc.js
app2/
mobile.js
...
he estado buscando en JavaScriptMVC para ayudar con esta. Si bien ofrece herramientas útiles, no parece tener nada que haga específicamente mejor la gestión de nuestra biblioteca gigante de JavaScript. Estamos expandiendo nuestro equipo de desarrollo pronto y la mantenibilidad del código es muy importante.
¿Hay algo que pueda hacer nuestra vida más fácil? ¿Hay algún hábito/regla general que use en su trabajo que pueda aliviar esto?
¿Qué hay de malo en el diseño js/{app_name}/{device_type}? parece imitar la configuración basada en la aplicación de django y es muy clara y organizada. ¿Hay alguna manera en la que te falta? – dm03514
@ dm03514: No tiene nada de malo, solo me pregunto si hay una mejor manera. – Goro