2014-02-06 5 views
5

Ich habe eine große Winkel Anwendung mit 5 Vorlagen in der Haupt externe Seite mitprecompile Winkel js Vorlage beschleunigen Start der Anwendung

<script type="text/ng-template" id="/myMainTemplate.html">...</script> 
<script type="text/ng-template" id="/myTemplatePage2.html">...</script> 
<script type="text/ng-template" id="/myTemplatePage3.html">...</script> 
<script type="text/ng-template" id="/myTemplatePage4.html">...</script> 

jedoch meine Anwendung viel Zeit in Anspruch nimmt bis zur Inbetriebnahme.

Entfernen Sie die Vorlagen 2/3/4 beheben Sie es, aber natürlich brach die App, meine Vermutung ist, dass angularjs zu viel Zeit braucht, um die 5 Vorlagen zu kompilieren.

Gibt es eine Möglichkeit, angularjs Templates zu kompilieren, zum Beispiel mit nodejs oder ähnlichem (genauso wie wir Templates mit dem Lenker kompilieren können)?

Wenn ich gut verstehen, die $compile Anweisung, würde die Idee, den Befehl $compile(myTemplate) in der Server-Seite zu bewegen, innerhalb des Client-

Antwort

4

Es scheint, ich war falsch, was Zeit in Anspruch nimmt nicht die Vorlagen kompilieren . Der Browser lädt nur langsam die ganze Seite und im Grunde hat das document.ready -Ereignis einige Zeit gebraucht, um gefeuert zu werden.

dies zu beheben ich nur meine Hauptvorlage <script type="text/ng-template" id="/myMainTemplate.html">...</script> in der Seite enthalten, und ich die anderen Vorlagen laden ein asynch $ http-Call, basierend auf dieser Lösung: https://gist.github.com/vojtajina/3354046

8

einen Blick auf die Aufgabe Grunzen-html2js Nehmen .

https://github.com/karlgoldstein/grunt-html2js

Es wandelt Ebene Angular HTML-Templates JavaScript bereit in der Haupt-App Bundle verketten. Sobald sich die Vorlagen in Ihrem App-Bundle befinden, werden sie in Angulars Vorlagen-Cache geladen, sodass sie sofort geladen werden.