Asp.net-Mvc
如何從 Visual Studio 預編譯 HandlebarsJS 模板?
是否可以從 Visual Studio 的建構後事件或 MVC Web 應用程序的 App_Start 中預編譯 Handlebars 模板?提前非常感謝。戴爾
當然,你有很多選擇:
- 您可以為 windows 和 npm 安裝 node.js,並為編譯配置一個建構後事件(這裡的範例來自上一個問題)
- 如果您使用的是 ember.js,這裡有一個使用包轉換來實現預編譯的實現。
- 另一個支持組件的 ember.js,這裡是實現,它也使用包轉換。
- 這是使用侏羅紀 javascript 編譯器在 C# 上編譯的範例
一種方法是使用捆綁轉換和 jurrasic js 編譯器生成一個 js 文件,其中包含所有已編譯的視圖和部分視圖。
public class BundleConfig { public static void RegisterHandlBarBundles(BundleCollection bundles, string path) { HandleBarBundleTransform transform = new HandleBarBundleTransform(); transform.jsPath = path; bundles.Add(new Bundle("~/views.js", transform).IncludeDirectory("~/views", "*.hbs", true)); BundleTable.EnableOptimizations = true; } }這樣做的好處是不需要 node.js 或 ember,同時仍然使用簡單的 bundletransform 鉤子。
HandleBarBundleTransform 的完整來源在這裡。
這具有為不使用 ember 的人發布的 ember 解決方案 @ahmed 的便利。