替换node.js中的文本文件中的字符串

时间:2011-03-01 05:07:40

标签: javascript node.js

我正在使用node.js.我想读取带有一些占位符字符串的文件,并在我提供文件之前动态替换它们。这不是HTML文件,因此模板引擎无效。

我该怎么做?

2 个答案:

答案 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,您只需呈现模板并使用您喜欢的任何内容类型发送回复。