2014-11-15 12 views
12

Ich möchte die Ansichten so modular wie möglich halten. In der Praxis bedeutet das, dass ich viele kleine verallgemeinerte HTML-Snippets habe, aus denen die eigentliche HTML-Seite zusammengesetzt ist. Jetzt ng-include und benutzerdefinierte Anweisungen mit templateUrl passen mir ziemlich gut, aber nur in Entwicklung, weil jedes HTML-Snippet separat angefordert wird.AngularJS: Alle Teilansichten/Vorlagen für die Produktion bündeln

In der Produktion aber ich erwarte, dass eine einzelne Seite App sein, ähm, auf einer einzigen Seite, alle gebündelt und minimierte - genau wie der JavaScript-Modul Lader (RequireJS, Component, Browserify, DuoJS, etc.) würde zu modularen JavaScript-Dateien tun. Kein zusätzlicher HTTP-Verkehr zum Laden von HTML-Chunks ist akzeptabel.

Jetzt bin ich mir ziemlich sicher, dass AngularJS nicht out-of-the-box bündelt (ich hätte es inzwischen gefunden), aber vielleicht habt ihr euch etwas einfallen lassen, um dieses Problem anzugehen?

P.S. Es sollte angemerkt werden, dass ich nicht nach Cache-bezogenen Lösungen suche.

+1

Werfen Sie einen Blick auf die '$ templateCache' . Mit grunt können Sie alle Ihre Vorlagen in die JS-Dateien zusammenführen. Auf diese Weise, wenn Ihre Anwendung geladen ist, muss sie Ihre Vorlagen nicht erneut holen über HTTP – 23tux

+1

FWIW, ich endete mit Browserfy mit [brfs] (https://github.com/substack/brfs), weil diese Art von Workflow ist _way_ bequemer. – incarnate

Antwort

10

können Sie grunt-angularjs-template

es tut verkettet alle Vorlagen in einer Datei verwenden. wie pro ihre docs

Grunt bauen Aufgabe & registrieren Vorlagen Ihre AngularJS in die $ templateCache

verketten, wenn Sie schlucken verwenden, ist der Zug Äquivalent davon gulp-angular-templatecache

+0

Ah, brilliant! Ich liebe die Gemeinde :) – incarnate