模板引擎是什么
模板引擎(Template Engine)是一個(gè)將頁面模板和數(shù)據(jù)結(jié)合起來生成 html 的工具
ejs
ejs 作為一個(gè)模板引擎双肤,使用起來十分簡單道媚,而且與 express 集成良好
安裝
npm install ejs --save
使用
修改 index.js,設(shè)置模板的存放路徑荒辕,并設(shè)置當(dāng)前的模板引擎為 ejs
var express = require('express');
var path = require('path');
var app = express();
app.set('views', path.join(__dirname, 'views')); // 模板文件存放在 views/ 文件夾下
app.set('view engine', 'ejs'); // 模板引擎為 ejs
var indexRouter = require('./routes/index');
var userRouter = require('./routes/user');
app.use('/', indexRouter);
app.use('/user', userRouter);
app.listen(3000);
在 views 文件夾下建立 user.ejs 文件亩进,并加入如下代碼
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<%= name %>
<body>
</html>
修改 routes/user.js 文件卵慰,加入一個(gè)新的路由
router.get('/:name', function(req, res) {
res.render('user', {
name: req.params.name
});
});
以上代碼的意思是:當(dāng)訪問如 http://localhost:3000/user/okada 路徑時(shí),到 views 文件夾下找到名字為 user
的模板文件榴芳,然后渲染模板嗡靡,最后返回渲染好的 HTML 內(nèi)容
<!DOCTYPE html>
<html>
<head>
</head>
<body>
okada
<body>
</html>
路徑中 :name
起了占位符的作用,這個(gè)占位符的名字是 name
窟感,可以通過 req.params.name
取到實(shí)際的值叽躯。
獲取 req 中的請求信息常見方法有幾種
-
req.query
解析 URL 中的 query parameters,比如name=okada
-
req.params
解析 url 中的占位符肌括,如 /:name -
req.body
解析請求體点骑,需使用相關(guān)的模塊酣难,如 body-parser