javascript - 这是使用node.js和jade打开文件并读取每一行的方法吗?

标签 javascript node.js express pug

我对 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
- })

关于javascript - 这是使用node.js和jade打开文件并读取每一行的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20520436/

相关文章:

javascript - 从父组件访问组件的子元素

javascript - 无法在 react JS 中向下滚动屏幕

node.js - gulp-sass错误: Unhandled stream error in pipe

node.js - 如何从 Flutter 发出纯文本 http(而非 https)请求

node.js - express 进入每条路由前如何使用中间件检查授权?

ajax - 如何在 axios 中捕获状态 = 已取消?

javascript - JavaScript : How to get resolve value for all promises? 中的 Promise.all

web-services - Node.js 参数未正确传递给路由器

javascript - NodeJS 和 ExpressJS - Javascript 文件加载,但 CSS 文件不加载

javascript - 如何在javascript中组合多个数组?