簡單說明動態路由

2022-06-21 02:24:10 字數 2696 閱讀 8802

1、說明 http express 和 koa 的路由引數分別怎麼獲取

express:

router.get('/student/:id',function(req, res, next))

koa:

ctx.request.query

ctx.query

2、簡單說明動態路由

動態獲取路由位址,在對特定位址經行路由

//動態路由

//index沒有引數,導致路由無法匹配

//:佔位符

// 接收請求

console.log(req.params)

//get請求引數

res.send(req.params)

});

3、說明 express 和 koa 的中介軟體的使用

express中介軟體乙個接乙個的順序執行, 通常會將 response 響應寫在最後乙個中介軟體中

koa2的中介軟體是通過 async await 實現的,中介軟體執行順序是「洋蔥圈」模型。中介軟體之間通過next函式聯絡,當乙個中介軟體呼叫 next() 後,會將控制權交給下乙個中介軟體, 直到下乙個中介軟體不再執行 next() 後, 將會沿路折返,將控制權依次交換給前乙個中介軟體。

4、簡述 koa 的洋蔥圈模型

1

const koa = require('

koa'

) ;2

const router = require('

koa-router');

3//建立路由物件

4var router = require('

koa-router

')() ;56

koa() ;78

//洋蔥圈模型

10 console.log('

開始執行第乙個中介軟體

') ;

11await next() ; //

第乙個執行完先掛起來去執行第二個中介軟體

12 console.log('

第乙個中介軟體執行完成

') ;

13})

15 console.log('

開始執行第二個中介軟體

') ;

16await

next() ;

17 console.log('

第二個中介軟體執行完成

') ;

18})

20 console.log('

開始執行第三個中介軟體

') ;

21await

next() ;

22 console.log('

第三個中介軟體執行完成

') ;

23})

2425

//路由請求

26 router.get('

/',async (ctx) =>)

2930

31//

啟用路由

3233

.use(router.allowedmethods())

3436 console.log('

伺服器已啟動,3000埠監聽中...

') ;

37 })

5、擴充套件:了解 websocke

websocket 是 html5 開始提供的一種在單個 tcp 連線上進行全雙工通訊的協議。

websocket 使得客戶端和伺服器之間的資料交換變得更加簡單,允許服務端主動向客戶端推送資料。在 websocket api 中,瀏覽器和伺服器只需要完成一次握手,兩者之間就直接可以建立永續性的連線,並進行雙向資料傳輸。

在 websocket api 中,瀏覽器和伺服器只需要做乙個握手的動作,然後,瀏覽器和伺服器之間就形成了一條快速通道。兩者之間就直接可以資料互相傳送。

建立 websocket 物件

var socket = new websocket(url, [protocol] );

以上**中的第乙個引數 url, 指定連線的 url。第二個引數 protocol 是可選的,指定了可接受的子協議。

websocket 屬性

socket.readystate   唯讀屬性 readystate 表示連線狀態,可以是以下值:

0 - 表示連線尚未建立。

1 - 表示連線已建立,可以進行通訊。

2 - 表示連線正在進行關閉。

3 - 表示連線已經關閉或者連線不能開啟。

socket.bufferedamount   唯讀屬性 bufferedamount 已被 send() 放入正在佇列中等待傳輸,但是還沒有發出的 utf-8 文字位元組數。

websocket 事件

socket.onopen   連線建立時觸發

socket.onmessage   客戶端接收服務端資料時觸發

socket.onerror   通訊發生錯誤時觸發

socket.onclose   連線關閉時觸發

websocket 方法

socket.send()   使用連線傳送資料

socket.close()   關閉連線

FormatMessage簡單說明

常用引數簡介.formatmessage format message from system format message allocate buffer,null,lval,null,lptstr hlocal,0,null 第乙個引數是標誌,告訴這個formatmessage函式,我想要的特點...

Subversion 簡單說明

subversion 簡單說明 checkout 從源 管理伺服器取出 commit 提交更新的 到源 管理伺服器。update 從源 管理伺服器獲取 的最新更新。export 從源 管理伺服器匯出 匯出的 將脫離源 管理。revert 將當前資料恢復到最近與伺服器同步的版本,即放棄自己的所有未提交...

std deque簡單說明

本文 http blog.chinaunix.net u2 86575 showart 1734758.html std deque是乙個高效的雙端佇列,可以高效地進行插入和刪除操作。以sgi c stl為例 deque的基本結構是 有乙個map map中的元素是乙個記錄了乙個大小為512位元組的線...