node.js - 无法将数据从 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 %> 而不是实际数据。请看一下
解决方案
您应该使用 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
推荐阅读
- php - PHP MYSQL 显示表 a 中的所有值,但仅显示表 b 中的匹配值,其中表 b 是单独的循环
- android - Firebase UI 回收器视图适配器 onDataChanged 获取对已更改数据的引用
- sql - 具有多列顺序时的 CASE 表达式
- javascript - 角度js滚动指令不起作用
- listview - Flutter:在 ListView 中动画项目删除
- dart - 在 TextFormField Flutter 中使用 FocusNode
- c# - 如何在c#的datagridview列中添加逗号分隔的值
- html - 如何导航到角度 6 中的其他页面?
- android - 位图中心裁剪中的内存不足错误
- c# - 在 VSTO 办公室插件中创建可调用函数 - COMAddIns.Object 始终是 Nothing