# 路由
不用再用if else嵌套
路由指根据不同请求路径和请求方式进行路径分发,导向到不同处理函数,执行不同的业务逻辑。
```
app.method :指定某请求方式的匹配规则;
app.all :指定所有请求方式的匹配规则;
app.route :指定某请求路径的匹配规则;
app.use :应用多个匹配规则。
```
### 请求方式匹配
HTTP 请求常见的请求方式有 get、post、put、delete 等,Express 支持按请求方式的路由规则。
```
constexpress=require('express');
letapp=express();
app.get('/aaa', function(req, res) {res.send('get');});
app.post('/aaa', function(req, res) {res.send('post');});
app.put('/aaa', function(req, res) {res.send('put');});
app.delete('/aaa', function(req, res) {res.send('delete');});
// all 方法绑定的路由与请求方式无关
app.all('/abc', (req, res) => {
res.end('test router');
});
app.listen(999, () => { console.log('启动成功') });
```
## 请求路径匹配
路由路径可以是字符串、字符串模式或正则表达式。
```
const express=require('express');
let app=express();
app.route('/order')
.get(function(req, res) {res.send('get a');})
.post(function(req, res) {res.send('post a');})
.put(function(req, res) {res.send('put a');})
.delete(function(req, res) {res.send('delete a');})
app.route('/user')
.get(function(req, res) {res.send('get a');})
.post(function(req, res) {res.send('post a');})
.put(function(req, res) {res.send('put a');})
.delete(function(req, res) {res.send('delete a');})
app.listen(999, () => { console.log('启动成功') });
```
- 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-同源策略