1. 程式人生 > 程式設計 >淺探express路由和中介軟體

淺探express路由和中介軟體

淺探express路由及中介軟體

1. Express簡介

express是一個基於node.js平臺的極簡,靈活的web應用開發框架,它提供一系列強大的特徵,幫助你建立各種web和移動裝置應用

express框架核心特徵:

  1. 可以設定中介軟體來響應HTTP請求

  2. 定義了路由表用於執行不同的HTTP請求動作(url=資源)對映

  3. 可以通過向模板傳遞引數來動態渲染HTML頁面

2. 安裝

在命令列中輸入cnpm install express -g即可進行全域性安裝

3. 路由和中介軟體

使用前,先引入express

var express = require('express');
var app = express();
複製程式碼

路由

路由表示如何處理HTTP請求中的路徑(path)部分

http://host:[port]/[path]
複製程式碼

例子:

app.get('/',function(req,res){
    res.send('hello world')
})
複製程式碼

以上例子中,get可換成post或其他請求方法,方法的第一個引數'/'為匹配所有路徑,可用正則表示式或其他方法進行配對,第二個引數是要執行的函式

中介軟體

中介軟體是在伺服器收到請求和傳送響應之前所執行的一些函式 中介軟體 是一個函式,它可以訪問請求物件(request object (req)),響應物件(response object (res)),和 web 應用中處於請求-響應迴圈流程中的中介軟體,一般被命名為 next 的變數。 中介軟體的功能包括:

  • 執行任何程式碼。
  • 修改請求和響應物件。
  • 終結請求-響應迴圈。
  • 呼叫堆疊中的下一個中介軟體。
  • 如果當前中介軟體沒有終結請求-響應迴圈,則必須呼叫 next() 方法將控制權交給下一個中介軟體,否則請求就會掛起。

用app.use來在請求或響應之前插入一箇中介軟體

app.use(function(req,res,next){
    //執行一些程式碼
    next();
})
複製程式碼

可以有多箇中介軟體,next表示讓後面中介軟體繼續處理