node渲染.html页面

2018-07-08  本文已影响0人  jebirth

问题:在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});
});

下面将使用webpack在ndoe端并加入服务器渲染

上一篇 下一篇

猜你喜欢

热点阅读