[英]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.