簡體   English   中英

這是使用node.js和jade打開文件並讀取每一行的方法嗎?

[英]Is this the way to open a file using node.js and jade and read each line?

我對Node.js很陌生,嘗試打開文件並讀取每一行?

下面是代碼,我們可以用ruby(html.erb)編寫。

<% File.open("/home/ubuntu/test.text", "r").each_line do |line| %>
  <p><%= line %></p> 
<% end %>

任何幫助將不勝感激。

您可以讀取文件並將其傳遞給Jade。 如果要在Jade渲染器中讀取文件,則讀取必須是同步的,從而阻止所有傳入請求,直到讀取完成。 因此,您應該異步讀取文件:

app.get('/', function(req, res) {
  fs.readFile(file, function(err, data) {
    res.render('file.jade', {
      lines: data.split('\n')
    });
  });
});

然后在Jade中,可以循環行數組:

- for (var i = 0; i < lines.length; ++i) {
  li= lines[i]
- }

您還可以使用其他方法循環:

each line in lines
    li= line

- lines.forEach(function(line) {
  li= line
- })

處理程序

node.js是單線程的,因此您必須使用異步函數來避免阻塞

app.get('/', function (req, res, next) {
    fs.readFile('readme.txt', 'utf8', function (err, content) {
        if (err) {
            return next(err);
        }

        res.render('view.jade', {
            lines : content.split(/\r?\n/)
        });
    });
})

玉器

body
    each s in lines
        p= s

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM