2011-03-01 38 views
8

我正在使用node.js.我想用一些佔位符字符串讀取文件,並在提供文件之前動態替換它們。這不是一個HTML文件,所以模板引擎將無法工作。將字符串替換爲node.js中的文本文件

我該怎麼做?

+0

我已經嘗試加載文件作爲字符串,並做正則表達式替換。想知道是否有更優雅的方式。 – 2011-03-01 05:17:41

+1

你嘗過鬍鬚嗎? http://mustache.github.com/ – generalhenry 2011-03-01 07:07:10

回答

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對象的標準方法的通用模板功能。

2

模板引擎不僅適用於html。如果使用的是快遞,例如,你可以設置自己的頭和指定的內容類型:

查看:

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,您可以渲染模板併發送帶有任何內容的響應 - 你喜歡的類型。