# Express 中使用模板引擎
基于 JavaScript 的模板引擎有许多种实现,我们推荐使用 ejs(Embedded JavaScript),因为它十分简单,而且与 Express 集成良好。由于它是标准 JavaScript 实现的,因此它不仅可以运行在服务器端,还可以运行在浏览器中。
## 使用 ejs
```
安装包 npm install ejs。
```
```
<% books.forEach((book) => { %>
<%- book %>
<%})%>
```
```
var express = require('express')
var path = require('path')
var app = express() // 创建应用
// 全局设置, 减少代码
// 项目使用模板技术哪个
app.set('view engine', 'ejs');
// 项目存放模板文件目录在哪里
app.set('views', path.join(__dirname, 'views'));
app.get('/a', function (req, res) {
let data = {books: ['西游记', '三国演义', '水浒传', '红楼梦']};
res.render('book', data); // 当前目录中 views 找 book.ejs
// express 支持很多模板技术, 因为不同模板技术的 api 不一样, 统一封装了下
// 根据全局设置, 存在 大量判断 if 当前模板技术 ejs ejs.renderFile
});
app.get('/b', function (req, res) {
let data = {books: ['JS 入门', 'JS 高级', 'JS 禅道', '颈椎康复指南']};
res.render('book', data); // 当前目录中 views 找 book.ejs
// express 支持很多模板技术, 因为不同模板技术的 api 不一样, 统一封装了下
// 根据全局设置, 存在 大量判断 if 当前模板技术 ejs ejs.renderFile
});
// 启动应用绑定端口
app.listen(9999, () => console.log('启动成功'));
```
1.模板文件(ejs)
2.项目使用模板技术是那个
3.模板文件(ejs)目录在那里
4.res.render(‘book,’ data)
- NodeJs
- 01-万维网
- 02-CS 架构 VS BS 架构
- 03-Web 服务器访问流程
- 04-url
- 05-网络传输协议
- 06-HTTP 协议
- 07-报文
- 08-命令行界面
- 09-什么是 Node.js
- 10-环境安装及配置
- 11-JavaScript 代码运行环境
- 12-全局对象
- 13-Buffer
- 14-模块化
- 15-EventEmitter
- 16-path模块
- 17-流式操作
- 18-包
- 19-模板技术
- 20-ejs入门
- 21-express
- 01-什么是express
- 02-Hellow Express
- 03-静态资源服务
- 04-路由
- 05-模块化路由处理程序
- 06-中间件
- 07-手动实现中间件
- 08-常用内置中间件和第三方中间件
- 09-响应
- 10-获取请求参数
- 11-Express 中使用模板引擎
- 22-web存储与安全
- 01-cookie
- 02-sessionStorage
- 03-localStorage
- 04-base64
- 05-https
- 06-同源策略