res.render,res.write和Jade

我正在尝试在Node.js中创build一个简单的ftp客户端。 一切工作正常,但我不知道如何在我的Jade模板中写“singleFile.name”。

app.post('/ftp/login', function(req, res){ ftp.ls("/directory", function(err, files){ if (err) return console.error(err); files.forEach(function(singleFile) { if (singleFile != null){ console.log(singleFile.name + "<br>"); } }); }); res.render('ftpLogin', { host: fHost, username: fUsername, port: fPort}); }); 

没有“res.render”没有问题,但我想把它添加到我的模板。

 res.writeHead(200, {"Content-type" : "text/html; charset=utf-8"}); [...] res.write(singleFile.name + "<br>"); [...] res.end(); 

我是新手(3天节点学习),所以我会很高兴你的回应错误。

谢谢!

最好将文件数组发送到Jade模板。

 res.render('ftpLogin', { host: fHost, ..., files: files }); 

然后在模板中写一个循环。 例如:

 each file in files | #{file.name} br 

请参阅Jade循环文档: https : //github.com/visionmedia/jade#a9

尝试用+ "<br>"类的方法“预先格式化”代码并不是一个好习惯,因为这本身就是模板引擎的一个重点。