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

files 配列を 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 に答える