Questo potrebbe essere leggermente fuori tema, ma potresti usare Grunt (http://gruntjs.com/), che gira su node.js (http://nodejs.org/, disponibile per tutte le principali piattaforme) per eseguire attività dal riga di comando. Ci sono un sacco di plugin per questo strumento, come un compilatore di modelli, https://npmjs.org/package/grunt-contrib-jst . Consulta la documentazione su GitHub, https://github.com/gruntjs/grunt-contrib-jst . (Dovrai anche capire come eseguire il gestore di pacchetti del nodo, https://npmjs.org/ . Non preoccuparti, è incredibilmente facile e versatile.)
Puoi quindi mantenere tutti i tuoi modelli in file html separati, eseguire lo strumento per precompilarli tutti usando il carattere di sottolineatura (che credo sia una dipendenza per il plugin JST, ma non preoccuparti, il gestore di pacchetti del nodo installerà automaticamente le dipendenze per te).
Questo compila tutti i tuoi modelli in uno script, diciamo
templates.js
Il caricamento dello script imposterà un globale - "JST" per impostazione predefinita - che è un array di funzioni, ed è accessibile in questo modo:
JST['templates/listView.html']()
che sarebbe simile a
_.template( $('#selector-to-your-script-template'))
se metti il contenuto di quel tag script in (templates /) listView.html
Tuttavia, il vero kicker è questo: Grunt viene fornito con questa attività chiamata 'watch', che fondamentalmente monitorerà le modifiche ai file che hai definito nel tuo file grunt.js locale (che è fondamentalmente un file di configurazione per il tuo progetto Grunt, in javascript ). Se hai grugnito avvia questa attività per te, digitando:
grunt watch
dalla riga di comando, Grunt monitorerà tutte le modifiche apportate ai file ed eseguirà automaticamente tutte le attività che hai configurato in quel file grunt.js se rileva modifiche, come l' attività jst descritta sopra. Modifica e salva i tuoi file e tutti i tuoi modelli si ricompilano in un unico file js, anche se sono distribuiti su un certo numero di directory e sottodirectory.
Attività simili possono essere configurate per lintare il tuo javascript, eseguire test, concatenare e minimizzare / umiliare i tuoi file di script. E tutto può essere collegato all'attività di controllo, quindi le modifiche ai file attiveranno automaticamente una nuova "build" del progetto.
Ci vuole un po 'di tempo per impostare le cose e capire come configurare il file grunt.js, ma ne è valsa la pena, e non credo che tornerai mai a un modo di lavorare pre-grunt