私はダストダウンを使用したことはありませんが、最新のソース コードを確認しました。
これらは、実際のコンパイルを行う行です。
var filename = filepath.split("/").reverse()[0].replace(".html", "").replace(".dust", "");
file_to_create = file_to_create + "\\" + filename + "_" + version + ".js";
//compile to dust
// notice the second parameter to compile() is the BASE of the filename!
var compiled = dust.compile(data, filename);
Dust.compile() を使用しているため、使用方法はドキュメントと同じにする必要があります。コンパイル結果はjavascriptなので、通常のjsスクリプトと同じように参照してください。
<script type='text/javascript' src='/mycompilecode/mytemplate-1.0.js'></script>
docsによると、コードが読み込まれると、dust.register() メソッドが含まれて実行され、その後使用できるようになります。
上記のダストダウンがコンパイルを使用する方法に気付いた場合は、ベース ファイル名をキーとして使用します。これが、dust.loadSource() に渡したいものです。
…というわけで、まとめてみましょう…
- テンプレートとしてファイル「intro.html」から始めます。
- ダストダウンを使用してコンパイルします。結果は次のようになると思います (コマンドラインでダストダウンを指定しない場合、0_0_1 がデフォルトのバージョンです): /templates/compiled/intro_0_0_1.js
次のコードは、それがどのように使用されるかを示しています (ダストが既にロードされていると仮定します)。
<script type='text/javascript' src='/templates/compiled/intro_0_0_1.js'></script>
<script type='text/javascript'>
var myCompiledTemplateKey = 'intro'; // notice! no version or .js extension
dust.loadSource(myCompiledTemplateKey );
dust.render(myCompiledTemplateKey , {name: "Fred"}, function(err, out) {
console.log(out);
});
</script>