问题:在html中传入参数?
解决:将使用ejs模块作解析;之前,使用express框架中的sendFile, 虽然看了文档,但不清楚怎么传入参数,有大神请求指教。所以决定使用res.render。
下面将先安装ejs
cnpm i --save ejs
设置一个简单的页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><%= name %></title>
</head>
<body>
<p><%= name %></p>
</body>
</html>
在app.js文件中使用ejs引擎来渲染html文件中参数,设置如下所示:
app.engine('.html', require('ejs').__express);
app.set('views', __dirname + '/views');
app.set('view engine', 'html');
设置路由返回页面, 使用res.render返回HTML模块。
app.get('/', (req, res, next) => {
let name = "jjj"
res.render(path.join(__dirname+'/v.html'), {name: name});
})
在测试工具,经过渲染的参数的页面如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jjj</title>
</head>
<body>
<p>jjj</p>
</body>
</html>
参数网站
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', 'html');
app.set('views', __dirname);
app.get('/', function(req, res){
res.render('index.html',{email:data.email,password:data.password});
});
- res.sendFile说明: https://stackoverflow.com/questions/31461358/can-i-use-res-sendfile-and-res-json-together/31461737#31461737
- express文档: http://expressjs.com
- node 返回页面路由设置: https://codeforgeek.com/2015/01/render-html-file-expressjs/
下面将使用webpack在ndoe端并加入服务器渲染
网友评论