# 路由
不用再用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-同源策略