2

我正在尝试在 Node.js 中制作简单的 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 天节点学习),所以我会很高兴看到你对错误的所有回应。

谢谢!

4

1 回答 1

0

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

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

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

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

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

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

于 2013-03-30T14:07:21.473 回答