2012-05-05 41 views
0

我试图使用node.js从文件系统加载模板,但找不到方法。 到目前为止,我有:Dust.js从Node.js中的文件系统加载模板

exports.index = function(req, res){ 
    var compiled = dust.compile("Hello {name}!", "intro"); 
    dust.loadSource(compiled); 
    dust.render("intro", {name: "Fred"}, function(err, out) { 
     res.write(out); 
     res.close(); 
    }); 
}; 

有没有一种方法可以代替:“您好(名称)”有文件名?它应该是HTML还是JS文件? 另外,如果这在渲染模板上不是很好的方式,请告诉我,我是Node.js试图挑选最佳实践的新手。

+0

你是不是想用灰尘模板而不是说玉石?如果是这样,这个链接描述与巩固.js:http://spalatnik.com/blog/?p=54 – Trevor

+0

Thx,特雷弗,这更像是我在找什么。 – Max

回答

1
fs.readFile(dustFile, function (err, file) { 
    var name = fileName.split(".")[0] 
    var fn = dust.compileFn(file.toString(), name) 
    fn({ name: "fred" }, function (err, out) { 
     res.end(out) 
    }) 
}) 
+0

它看起来有点奇怪,我必须手动访问文件系统才能获取模板。希望有一个更抽象的方式来做到这一点。 – Max