これはあなたのハンドルバーのテンプレートをロードし、データとそれらを埋めコードです:
var htmlTemplateStr = //Open your "Canned Template" and load it into this string
var LoadedTemplate = Handlebars.Compile(htmlTemplateStr);
var contextObject = //create an object that will hold all the variables your
// template will be looking for
var outputHtml = LoadedTemplate(contextJson);
は、独自のプロジェクトにこのコードをカプセル化します。このプロジェクトは、Webコードを持つプロジェクトとテストがあるプロジェクトの両方で参照され、ハンドルバーのHTMLが生成されます。これで、Webコードとテストスイートで同じテンプレートファイルが使用されていることが保証されます。詳細については、この回答のコメントを参照してください。あなたの3番目のプロジェクトで
更新09/06
、あなたはproject resourceとしてあなたの "缶詰テンプレート" HTMLファイルを追加することができます。詳細はリンクをご覧ください。私のチームは、 "ビルドアクション"を "埋め込みリソース"(コンパイルされたdllに埋め込まれている)に設定し、 "コピー先出力ディレクトリ"を "コピーしない"に設定しました。それはDLLの中に埋め込まれます)
缶詰テンプレートHTMLファイルをリソースとしてプロジェクトに追加されたら、次の関数でHTMLを取得することができます。
private string GetCannedTemplateHtml(string resourceFilename)
{
Assembly assem = this.GetType().Assembly;
using(Stream stream = assem.GetManifestResourceStream(resourceFilename))
{
using (var reader = new StreamReader(stream))
{
return reader.ReadToEnd();
}
}
}
あなたの缶詰のテンプレートも保存されていますデータベースに? –
いいえ、それらはテキストファイルとして保存されています –