使用 nodejs Express 渲染带有数据的 html
Posted
技术标签:
【中文标题】使用 nodejs Express 渲染带有数据的 html【英文标题】:Rendering html with data with nodejs Express 【发布时间】:2016-09-23 11:14:27 【问题描述】:我是表达框架的新手,我只想知道如何使用来自 mongo DB 的一些数据来呈现 html 页面,我使用下面的代码发送 html,但不知道如何发送一些数据
res.sendFile(path + "feature.html"); this is success as html get renders
这样发送数据??
res.sendFile(path + "feature.html", data: data);
如何在html中显示数据??如果我发送了这样的数组
res.sendFile(path + "feature.html", data: []);
如何在 html 中循环这个??
【问题讨论】:
【参考方案1】:我建议你使用一些模板引擎,比如ejs 或jade。这个表单,可以使用res.render,发送json信息查看。有关更多详细信息,请参阅引擎文档和res.render
文档。
【讨论】:
【参考方案2】:如果你需要在 node.js express 上渲染一个 html 页面,你需要安装任何一个模板引擎,比如 ejs 或jade,并设置视图目录。 使用 npm 安装 ejs 的代码是,
npm install ejs --save
在您的 app.js 文件中包含以下代码将解决您的问题。
var bodyParser = require('body-parser');
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/'));
app.use(bodyParser.urlencoded(extend:true));
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'ejs');
app.set('views', __dirname);
app.get('/', function(req, res)
res.render("index");
);
【讨论】:
将此行编辑后app.set('view engine', 'html');
改为app.set('view engine', 'ejs');
运行正常。
最好加上“数据如何通过渲染”。以上是关于使用 nodejs Express 渲染带有数据的 html的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 NodeJS 和 Express 渲染上传的照片?
插入并放入nodeJs + express api时,带有Redux Saga的Axios不发送表单数据