无法将数据从express.js发送到模板中的html

时间:2018-10-28 13:50:22

标签: node.js express

server.js

app.get('/',(req,res) => {
let path = require('path');
res.sendFile(path.join(__dirname+'/index.html'),{name:"srk"})
})

index.html

<%= name %>

在某些网站上,我发现这种方法可以将数据从express发送到html。 但是我得到的是<%= name%>而不是实际数据。 请看看

1 个答案:

答案 0 :(得分:0)

您应该使用res.render(view,{options})代替,即

  • 您需要一个诸如ejs之类的视图引擎,然后在您的代码中对其进行设置
  • 创建views文件夹并将Express指向该文件夹
  • 将index.html文件重命名为index.ejs并将其移动到新创建的views文件夹中

    app.set('view engine', 'ejs');

    app.set('views', <views folder url>);

然后在您的app.get()中使用

`res.render('index.ejs', {
    name: "srk"
}`

如果您还没有ejs,请运行npm install --save ejs