2014-11-15 43 views
12

Chcę zachować widoki jak najbardziej modułowe. W praktyce oznacza to, że mam dużo małych uogólnionych fragmentów kodu HTML, z których składa się właściwa strona HTML. Teraz ng-include i niestandardowe dyrektywy z templateUrl bardzo mi odpowiadają, ale tylko w rozwoju, ponieważ każdy fragment kodu HTML jest żądany osobno.AngularJS: Powiązanie wszystkich widoków częściowych/szablonów do produkcji

W produkcji jednak spodziewam pojedyncza aplikacja strona będzie, hmmm, na jednej stronie, spakowane i minified - podobnie jak ładowarki modułu Javascript (RequireJS, Component, Browserify, DuoJS, itd.) zrobiłby to modułowe pliki JavaScript. Nie jest dopuszczalny dodatkowy ruch HTTP do ładowania fragmentów HTML.

Teraz jestem prawie pewien, że AngularJS nie robi pakietów out-of-the-box (znalazłem to już teraz), ale może wy wymyśliliście coś, aby rozwiązać ten problem?

P.S. Należy zauważyć, że nie szukam rozwiązań związanych z pamięcią podręczną.

+1

Spójrz na' $ templateCache' . Za pomocą gruntu możesz scalić wszystkie szablony w pliki JS. W ten sposób, gdy twoja aplikacja jest ładowana, nie musi ona ponownie pobierać twoich szablonów przez http: – 23tux

+1

FWIW, skończyło się na użyciu Browserify z [brfs] (https://github.com/substack/brfs), ponieważ ten rodzaj przepływu pracy jest wygodniejsze. – incarnate

Odpowiedz

10

można użyć grunt-angularjs-template

robi skleja wszystkie szablony w jednym pliku. jak za jego docs

Grunt zbudować zadanie łączyć & zarejestrować angularjs szablony w dolarów templateCache

jeśli używasz łyk, odpowiednik łyk z nich jest gulp-angular-templatecache

+0

Ah, genialny! Uwielbiam społeczność :) – incarnate