# Express 的 Router 路由
# app.get()
普通路由方法
// GET method route
app.get('/', function (req, res) {
res.send('GET request to the homepage')
})// POST method route
app.post('/', function (req, res) {
res.send('POST request to the homepage')
})
1
2
3
4
5
6
7
2
3
4
5
6
7
将http请求分开来写(适用于小规模项目)
# app.route()
整合HTTP请求
app.route('/book')
.get(function(req, res) {
res.send('Get a random book');
})
.post(function(req, res) {
res.send('Add a book');
})
.put(function(req, res) {
res.send('Update the book');
});
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
通过链式处理一个路由处理多组http请求(简化了路由编写)
# express.Router
应用路由模块化
单独编写每个应用程序的路由
var express = require('express');
var router = express.Router();
// middleware that is specific to this router
router.use(function timeLog(req, res, next) {
console.log('Time: ', Date.now());
next();
});
// define the home page route
router.get('/', function(req, res) {
res.send('Birds home page');
});
// define the about route
router.get('/about', function(req, res) {
res.send('About birds');
});
module.exports = router;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
接着,在应用程序中装入路由器模块:
var birds = require('./birds');
...
app.use('/birds', birds);
1
2
3
4
2
3
4
通过创建路由模块集中管理路由(先单独为应用创建路由,后再总路由中导入,应用于大型复杂项目)
详情查看Express文档route部分