搜尋
首頁php教程php手册KoaHub平台基於Node.js開發的router路由外掛程式碼

KoaHub平台基於Node.js開發的Koa router路由插件程式碼資訊詳情
koa-路由器

koa 的路由器中間件。提供 RESTful 資源路由。

koa-路由器

koa 的路由器中間件[list][*]使用 app.get、app.put、app.post 等的 Express 風格路由
[*]命名 URL 參數。
[*]具有 URL 產生功能的命名路由。
[*]使用允許的方法回應 OPTIONS 請求。
[*]支援 405 方法不允許和 501 未實現。
[*]多重路由中間件.
[*]多個路由器。
[*]可嵌套路由器。
[*]ES7 非同步/等待支援 (koa-router 7.x)。 [/list]koa 2.x

請參閱 koa-router 7.x 以了解 koa 2.x 和 async/await 支援。

安裝

使用 npm 安裝:npm 安裝 koa-routerAPI 參考[list][*]koa-router
[*]路由器⏏
[*]新路由器([opts])
[*]實例
[*].get|put|post|patch|delete ⇒ 路由器
[*].param(param, 中介軟體) ⇒ 路由器
[*].use([路徑], 中介軟體, [...]) ⇒ 路由器
[*].routes ⇒ 功能
[*].allowedMethods([選項]) ⇒ 函數
[*].redirect(來源、目的地、代碼) ⇒ 路由器
[*].route(name) ⇒ 圖層 |假
[*].url(name, 參數) ⇒ 字串 |錯誤
[*]靜電
[*].url(path, params) ⇒ String[/list]路由器

Kind:導出類別

新路由器([opts])

建立一個新路由器。

[table=50%]

參數 型描述 [opts] 物件 .n [/table ]基本用法範例:var app = require('koa')(); var router = require('koa-router')();   router.get('/', 函數 *(next) {...});   應用程式   .use(router.routes())   .use(router.allowedMethods());router.get|put|post|patch|delete ⇒ Router <br> 建立 router.verb() 方法,其中 verb 是 HTTP 動詞之一,例如 router.get() 或 router.post()。 <br> <br> 使用 router.verb() 將 URL 模式與回呼函數或控制器操作相匹配,其中 verb 是 HTTP 動詞之一,例如 router.get() 或 router.post()。 <br>router<br>   .get('/', 函數*(下一個){<br>     this.body = '你好世界! ';<br>   })   .post('/users', 函數 *(下一個) {
    // ... 
  })
  .put('/users/:id', 函數 *(下一個) {
    // ...    })<br>   .del('/users/:id', 函數 *(下一個) {<br>     // ... <br>   });<br>路由路徑將使用 path-to-regexp 轉換為正規表示式。 <br> <br> 符合請求時不會考慮查詢字串。 <br> <br> <br>命名路線<br><br> <br> 路線可以選擇有名稱。這允許在開發過程中產生 URL 並輕鬆重命名 URL。 router.get('user', '/users/:id', function *(next) {
 // ... 
});
 
router.url('用戶', 3); //=> 「/users/3」多個中間件

可以給出多個中間件:router.get(<br>   '/users/:id',<br>   函數*(下一個){<br>     this.user = yield User.findOne(this.params.id);<br>     產生下一個;<br>   },   函數*(下一個){
    console.log(this.user);
    //=> { id:17,名稱:「亞歷克斯」}    }<br> );<br><br>嵌套路由器<br><br> <br> 支援嵌套路由器:<br>var forums = new Router();<br> var posts = new Router();<br>  <br> posts.get('/', 函數 *(next) {...}); posts.get('/:pid', 函數 *(next) {...}); forums.use('/forums/:fid/posts', posts.routes(), posts.allowedMethods());  
// 回覆「/forums/123/posts」和「/forums/123/posts/123」
app.use(forums.routes());路由器前綴

路由路徑可以在路由器層級新增前綴:var router = new Router({<br>   前綴:'/users'<br> });<br>  <br> router.get('/', ...); // 回應「/users」<br> router.get('/:id', ...); // 回應「/users/:id」URL 參數

命名路由參數被捕獲並添加到 ctx.params.router.get('/:category/:title', function *(next) {<br>   console.log(this.params);<br>   //=> { 類別:'程式設計',標題:'如何使用節點'} <br> });Kind:Router
的實例屬性
[table=50%] 參數 型 描述 路徑 字串 回調函數 路由回呼[/table]router.routes ⇒ 函數 返迴路由器中間件,此中間件調度與請求匹配的路由。 Kind:Router的實例屬性 router.use([路徑], 中介軟體, [...]) ⇒ 路由器 在路由回調之前使用給定的中間件。
僅當任何路由匹配時才運行。如果給定路徑,中間件將為包含該路徑的任何路由運行。

種類:Router
的實例方法
[table=50%]

Param





[路徑]
字串函數 範例 router.use(session(), 授權());   // 僅使用給定路徑的中間件 router.use('/users', userAuth());   app.use(router.routes());router.prefix(prefix) ⇒ 路由器 為已初始化的 Router 實例設定路徑前綴。 Kind:Router的實例方法 [table=50%]參數<br>型<br><br><br><br>前綴字串
[/table]
範例

router.prefix([/table]範例_5. ] ) ⇒ 函數

傳回單獨的中間件,用於回應帶有包含允許方法的Allow標頭的OPTIONS請求,並根據情況回應405 Method Not allowed和501 Not Implemented。 Kind:Router的實例方法 [table=50%]Param Type 描述
[options]

Object
拋出錯誤而不是設定狀態和標題


[options.notImplemented] Function拋出回傳值來取代預設的NotImplemented 錯誤 [options. Allowed 錯誤 [/table]範例 var app = koa(); var router = router();   app.use(router.routes()); app.use(router.allowedMethods());   例:Boom var app = koa(); var router = router(); var Boom = require('boom');   app.use(router.routes()); app.use(router.allowedMethods({   拋出:真實,   未實作:()=> 新的 Boom.notImplemented(),   方法不允許:()=> 新的 Boom.methodNotAllowed() })); router.redirect(來源、目的地、程式碼) ⇒ 路由器 使用可選的 30x 狀態代碼將來源重新導向到目標 URL。 來源和目的地都可以是路由名稱。 router.redirect('/login', 'sign-in');這相當於:router.all('/login', function *() {   this.redirect('/登入');   this.status = 301;<br> });<br>Kind:Router的實例方法<br> <br>[table=50%]<tr> <td> Param</td> <td> 類型</td> <td>Description </td> </tr> <tr> <td>source</td> <td>String</td> <td>URL orroute name.</td> </tr>String<tr> route name.<td></td> <td></td>code <td></td>Number</tr> <tr>HTTP status code (default: 301).<td></td>[/table]<td>router.route(name) ⇒ Layer | false</td> <td> </td> Lookup route with given name.</tr> <b> </b>Kind<br>: instance method of Router<br> <br> Param Type<br> name String<b> </b> router.url(name, params) ⇒ String | Error<br> <br> Generate URL for route. Takes the route name and a map of named<br> <br> wemall 開源微商城 ,微信商城,商城源碼,三級分銷,微生鮮,微水果,微外賣,微訂餐---專業的o2o系統<br> <br> wemall網址:http://www.wemallshop.com<br> <br> <br> 程式碼來源:http://js.koahub.com/home/feature/koa-jwt<br> <br> <br><br><br><br> <img src="/static/imghwm/default1.png" data-src="http://images2015.cnblogs.com/blog/993200/201610/993200-20161017174927623-1398173112.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="KoaHub平台基於Node.js開發的router路由外掛程式碼" >
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。