1. 程式人生 > >express路由和中間件

express路由和中間件

ons 包含 cati als urlencode ica 信息 false app

路由

簡單來說,express路由就是用來處理一些請求,響應一些url地址。

var express = require(‘express‘);
var app = express();

app.get(‘/‘,function(req,res){...})

app.post(‘/add‘,function(req,res){...})

但是如果一個網站有很多的請求路由,只是通過簡單的app.get或者app.post,這樣會顯得很繁瑣。所以就出現了中間件。

中間件

1.定義:所謂中間件,就是在收到請求和發送響應之間這個階段執行的一些函數。
2.常用的中間件

static中間件

用來訪問靜態文件。

app.use(express.static(path.join(__dirname, ‘public‘)));

body-parser中間件

1.作用:用來解析http請求體。

app.use(bodyParser.json()); //用來解析json數據格式
app.use(bodyParser.urlencoded({ extended: false }));//用來解析通常form表單提交的數據,也就是請求頭中包含這樣的信息: Content-Type: application/x-www-form-urlencoded

2.api(對請求體的四種解析方式)
bodyParser.json(options): 解析json數據
bodyParser.raw(options): 解析二進制格式(Buffer流數據)
bodyParser.text(options): 解析文本數據
bodyParser.urlencoded(options): 解析UTF-8的編碼的數據。

在大型項目中的路由中間件

一般自己在寫小項目的時候,會把路由控制的部分寫在app.js中,但是這樣會顯得很亂,但是在實戰項目中基本上不會這樣來寫,因為隨著項目的龐大,app.js入口文件中的路由控制將會越來越復雜,所以,實際項目會將不同的業務邏輯交給不同的模塊來負責。
-node_modules
-api
-index.js
-routes
-index.js
-app.js
-package.json
將對路由控制的具體響應寫在api目錄下。然後在routes目錄下引入,使用中間件的方式use。然後再在app.js中引入routes目錄下的。
此處學習來自http://www.jianshu.com/p/0ed0dc3621b0

express路由和中間件