Asp.net-Mvc

如何從 Visual Studio 預編譯 HandlebarsJS 模板?

  • July 12, 2015

是否可以從 Visual Studio 的建構後事件或 MVC Web 應用程序的 App_Start 中預編譯 Handlebars 模板?提前非常感謝。戴爾

當然,你有很多選擇:

  1. 您可以為 windows 和 npm 安裝 node.js,並為編譯配置一個建構後事件(這裡的範例來自上一個問題
  2. 如果您使用的是 ember.js,這裡有一個使用包轉換來實現預編譯的實現。
  3. 另一個支持組件的 ember.js,這裡是實現,它也使用包轉換。
  4. 這是使用侏羅紀 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 的便利。

引用自:https://stackoverflow.com/questions/16257849