Cosa devo usare per gestire un numero crescente di file JavaScript nella mia applicazione?Gestione della complessità JavaScript in un grande progetto
Stiamo costruendo un'applicazione django con diverse app. Ogni app ha diverse funzionalità e deve essere resa in tre diverse modalità (pc, tablet, mobile). C'è un sacco di cose che accadono in JavaScript: gestione dei dati ricevuti dal server, gestione degli eventi utente, iniezione di snippet HTML e caricamento di sottocomponenti. Alcune delle funzionalità sono condivise tra app e modalità di visualizzazione, ma spesso ha senso scrivere funzioni specifiche (ad esempio, gli eventi di hover e click potrebbero dover essere gestiti in modo diverso su un layout PC rispetto a un layout tablet) quindi stiamo raggruppando questo in file basati su app/layout/funzione.
Fino a un certo punto stavamo usando una struttura di file flat con la denominazione di differenziare i tipi di file:
ui.common.js
ui.app1.pc.handlers.js
ui.app1.pc.domManupulators.js
ui.app1.tablet.js
ui.app2.pc.js
...
In questo momento, tuttavia, come il numero di applicazioni (e casi d'angolo) cresce in questo modo è veloce diventando unusuable (stiamo avvicinando 20+ file e in attesa forse 40+ per il momento abbiamo finito), quindi stiamo mettendo tutto in directory in questo modo:
js/
common/
core1.js
ajax2.js
app1/
tablet.js
pc.js
app2/
mobile.js
...
sono stato a guardare JavaScriptMVC per aiutare con Questo. Sebbene offra strumenti utili, non sembra avere nulla che possa rendere la gestione della nostra gigantesca libreria JavaScript migliore. Stiamo espandendo presto il nostro team di sviluppo e la manutenibilità del codice è molto importante.
C'è qualcosa che potrebbe semplificarci la vita? Ci sono abitudini/regole empiriche che usi nel tuo lavoro che potrebbero alleviare questo?
Cosa c'è che non va nel layout js/{nome_app /} {device_type}? sembra imitare l'impostazione basata su app di django ed è molto chiara e organizzata. C'è un modo in cui ti manca? – dm03514
@ dm03514: Niente di male, chiedendo se c'è un modo migliore. – Goro