2014-11-15 21 views
12

Desidero mantenere le viste il più modulari possibile. In pratica significa che ho un sacco di piccoli snippet HTML generalizzati, da cui è composta la pagina HTML vera e propria. Ora ng-include e le direttive personalizzate con templateUrl mi soddisfano abbastanza bene, ma solo nello sviluppo, poiché ogni snippet HTML viene richiesto separatamente.AngularJS: raggruppa tutte le viste parziali/modelli per la produzione

Nella produzione, però, mi aspetto una pagina singola applicazione per essere, ummm, in una sola pagina, tutte in bundle e minified - proprio come i caricatori dei moduli JavaScript (RequireJS, Component, Browserify, DuoJS, etc.) farebbe per i file JavaScript modulari. Nessun traffico HTTP aggiuntivo per il caricamento di blocchi HTML è accettabile.

Ora sono abbastanza sicuro che AngularJS non esegua il bundling out-of-the-box (l'avrei già trovato), ma forse voi ragazzi avete escogitato qualcosa per risolvere questo problema?

P.S. Va notato che non sto cercando soluzioni relative alla cache.

+1

Dai un'occhiata a '$ templateCache' . Con grunt puoi unire tutti i tuoi modelli nei file JS. In questo modo quando la tua applicazione viene caricata, non è necessario ricaricare i tuoi modelli tramite http – 23tux

+1

FWIW, ho finito per utilizzare Browserify con [brfs] (https://github.com/substack/brfs), perché questo tipo di flusso di lavoro è _way_ più conveniente. – incarnate

risposta

10

è possibile utilizzare grunt-angularjs-template

lo fa concatena tutti i modelli in un unico file. secondo i suoi documenti

Grunt costruire compito per concatenare & registrare i modelli AngularJS nel il $ templateCache

se si utilizza sorso, il sorso equivalente di esso è gulp-angular-templatecache

+0

Ah, geniale! Adoro la community :) – incarnate

Problemi correlati