首页 > 解决方案 > 无法将数据从 express.js 发送到模板中的 html

问题描述

服务器.js

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

索引.html

<%= name %>

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

标签: node.jsexpress

解决方案


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

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

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

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

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

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

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


推荐阅读