dust-compiler -s controllers/inbox/views/inbox.dust -d public/js/custom/inbox/messages.js
但我收到错误
if (err) throw err;
^
Error: ENOTDIR, scandir 'C:\jbk\buy2gthr-master\controllers\inbox\views\inbox.dust'
at Error (native)
我有inbox.dust文件:
{>"../../../layout/layout"/}
{<css-content}
{/css-content}
{<page-content}
{/<page-content}
<script id="entry-template" type="text/x-tmpl">
{title}
<ul>
{#data}
<li>{name}</li>{~n}
{/data}
</ul>
</script>
**<div id="output"></div>**
{/page-content}
{<script-content}
<script src='/js/custom/inbox/inbox.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/dustjs-linkedin/2.7.2/dust-full.js'></script>
{/script-content}
和inbox.js文件
$(document).ready(function () {
var data = {
"title": "Famous People",
"names" : [{ "name": "Larry" },{ "name": "Curly" },{ "name": "Moe" }]
}
var source = $("#entry-template").html();
var compiled = dust.compile(source, "intro");
console.log(compiled);
dust.loadSource(compiled);
dust.render("intro", data, function(err, out) {
if(err) console.log(err);
else
console.log(out);
$("#output").html(out);
});
});
我仍在接受
<div id="output"><ul></ul></div>
答案 0 :(得分:0)
我不确定您使用的是哪种灰尘编译器,但只使用dustc
- 它附带了Dust。
您可以阅读all the dustc API options,但要预编译单个文件,您可以执行类似
的操作dustc controllers/inbox/views/inbox.dust --output=public/js/custom/inbox/messages.js
dustc使用绝对名称而不是相对名称来编译模板,因为Dust不是文件系统感知的。除非您专门设置了dust.onLoad
函数来处理相对路径,否则您希望使包含看起来像{> "inbox/messages" /}
。