我正在使用node.js.我想读取带有一些占位符字符串的文件,并在我提供文件之前动态替换它们。这不是HTML文件,因此模板引擎无效。
我该怎么做?
答案 0 :(得分:23)
如果模板引擎过度使用,只需使用string.replace()
。
temp = "Hello %NAME%, would you like some %DRINK%?";
temp = temp.replace("%NAME%","Michael Dillon");
temp = temp.replace("%DRINK%","tea");
console.log(temp);
只需要更多的工作,您就可以基于String对象中的标准方法创建通用模板函数。
答案 1 :(得分:2)
模板引擎不仅适用于html。例如,如果您使用Express,则可以设置自己的标头并指定内容类型:
查看:
var foo = "{{ bar }}";
渲染:
app.get('/file.js', function(req, res, next) {
res.render('templateName', {
locals: {bar: 'quux'},
headers: {'content-type': 'text/javascript'}
});
})
将屈服:
var foo = "quux";
如果您不使用Express,您只需呈现模板并使用您喜欢的任何内容类型发送回复。