Express支持多种模板引擎,这里采用Handlebars模板引擎的服务器端版本[hbs](https://github.com/donpark/hbs)模板引擎。
先安装hbs。
~~~
npm install hbs --save-dev
~~~
上面代码将hbs模块,安装在项目目录的子目录node_modules之中。save-dev参数表示,将依赖关系写入package.json文件。安装以后的package.json文件变成下面这样:
~~~
// package.json文件
{
"name": "demo",
"description": "My First Express App",
"version": "0.0.1",
"dependencies": {
"express": "3.x"
},
"devDependencies": {
"hbs": "~2.3.1"
}
}
~~~
安装模板引擎之后,就要改写app.js。
~~~
// app.js文件
var express = require('express');
var app = express();
// 加载hbs模块
var hbs = require('hbs');
// 指定模板文件的后缀名为html
app.set('view engine', 'html');
// 运行hbs模块
app.engine('html', hbs.__express);
app.get('/', function (req, res){
res.render('index');
});
app.get('/about', function(req, res) {
res.render('about');
});
app.get('/article', function(req, res) {
res.render('article');
});
~~~
上面代码改用render方法,对网页模板进行渲染。render方法的参数就是模板的文件名,默认放在子目录views之中,后缀名已经在前面指定为html,这里可以省略。所以,res.render('index') 就是指,把子目录views下面的index.html文件,交给模板引擎hbs渲染。
- 1. 概述
- 1.1 搭建HTTPs服务器
- 2. 运行原理
- 2.1 底层:http模块
- 2.2 对http模块的再包装
- 2.3 什么是中间件
- 2.4 use方法
- 3. Express的方法
- 3.1 all方法和HTTP动词方法
- 3.2 set方法
- 3.3 response对象
- 3.4 requst对象
- 4. 项目开发实例
- 4.1 编写启动脚本
- 4.2 配置路由
- 4.3 静态网页模板
- 5. 动态网页模板
- 5.1 安装模板引擎
- 5.2 新建数据脚本
- 5.3 新建网页模板
- 5.4 渲染模板
- 5.5 指定静态文件目录
- 6. ExpressJS 4.0的Router用法
- 6.1 基本用法
- 6.2 router.route方法
- 6.3 router中间件
- 6.4 对路径参数的处理
- 7. 上传文件
- 8. 参考链接