使用underscore.js模板一个JavaScript文件

我在express.js服务器上使用node.js进行一些其他的调用,我的客户端使用backbone.js模型和视图。 我正在使用underscore.js模板一些小的HTML代码的骨干观点。

我有一个简单的login模块,使用rest电话来validation用户,一旦validation我显示login后页面的用户。

现在在我为应用程序编写的JavaScript中,有一些地方需要在用户validation生成的url中包含一个随机数,然后返回给客户端。

所以,让我更加清楚的写下步骤1.客户端看到login页面,input用户名和密码2.服务器生成一个令牌并将其发送回客户端3.所有后续的进一步服务调用包括这个令牌一个path参数。

我正在尝试一个解决scheme,在我试图模板app.js JavaScript文件,并使用express.get服务它下面是testing代码,我试图截至目前,只是为了certificate这个概念。

app.get('/js/:filename', function(req, res) { console.log(); var fname = process.env.PWD + "/public/js/" + req.params.filename; var obj = { user : req.session.user }; fs.readFile(fname, function(err, data) { if (!err) { var returnstring = _und.template(data, obj); res.send(returnstring); } }); }); 

我正在尝试用一个非常简单的文件(test.js)截至目前

 var a = '<%- user %>'; 

每当我试图模板,并得到它在响应中,我使用http://localhost:5555/js/test.js ,我得到完全相同的响应,而不是设置的用户值在会议上。

我将不胜感激这个或任何其他可能存在的解决scheme,我可以尝试node.js,即其他模板库等。

我非常抱歉,上面的问题,似乎模板使用JavaScript的JavaScript文件是可能的:)。 我只是不得不重新审视这个问题。 只是改变了这一行

 fs.readFile(fname, function(err, data) 

 fs.readFile(fname, 'utf-8' , function(err, data) 

它的工作后。

实际的问题是我正在检索的数据,它不是一个string,而是一个缓冲区,根据节点js api,如果没有指定文件types,它将返回一个缓冲区。 如果它被指定,那么它会给一个string。 所以它去:)