Wie kann ich HandlebarsJS-Vorlagen aus Visual Studio vorkompilieren?

8

Ist es möglich, Lenkervorlagen aus einem Postbuild-Ereignis von Visual Studio oder im App_Start einer MVC-Webanwendung vorzukompilieren? Vielen Dank im Voraus. Dale

    
user1191559 27.04.2013, 23:14
quelle

3 Antworten

13

Sicher, Sie haben viele Möglichkeiten:

  1. Sie können node.js für Windows und npm installieren und ein Post-Build-Ereignis für die Kompilierung konfigurieren ( Beispiel hier von der vorherigen Frage )
  2. Wenn Sie ember.js verwenden, hier ist eine Implementierung , die die Bundle-Transformation verwendet, um eine Vorkompilierung zu erreichen.
  3. Ein weiterer für ember.js, der Komponenten unterstützt, hier ist die Implementierung , die auch die Bundle-Transformation verwendet.
  4. Hier ist ein Beispiel der Kompilierung auf C # mit dem Jurassic Javascript Compiler
amhed 28.04.2013, 14:41
quelle
3

Eine Möglichkeit, dies zu tun, ist die Verwendung von bundle transform und des jurrasic js-Compilers, um eine js-Datei mit all Ihren kompilierten Ansichten und Teilansichten zu generieren.

%Vor%

Dies hat den Vorteil, dass Sie node.js oder ember nicht benötigen, während Sie weiterhin einen einfachen Bundletransform-Hook verwenden.

Die vollständige Quelle für das HandleBarBundleTransform ist hier .

Dies hat den Komfort der Ember-Lösung (en), die @ahmed für diejenigen veröffentlicht hat, die keine Glut verwenden.

    
Adam Bell 26.02.2014 18:30
quelle
1

Ich weiß, dass diese Frage in Visual Studio 2010 war, aber ich habe sie gefunden, als ich nach einer Lösung für die Lenkerrekompilierung in VS2013 suchte. Ich habe einige Zeit damit verbracht, nach Lösungen zu suchen, bis ich feststellte, dass Web Essentials für Visual Studio auto-vorkompilieren von lenker-templates im November 2014.

Dieses Feature in Web Essentials ist nicht sehr gut bekannt und ich habe es nur gefunden, als ich meine Lösung erstellt habe und festgestellt habe, dass eine .hbs.js -Datei automatisch angezeigt wurde, wenn ich einen Lenker .hbs file bearbeitet habe! Ich habe viel Zeit damit verbracht, nach Lösungen zu suchen, als es schon da war.

Ich hoffe, diese Antwort hilft jemand anderem.

    
Jon P Smith 12.07.2015 08:01
quelle