Code-Informationsdetails des Koa-Router-Routing-Plug-Ins, das von der KoaHub-Plattform basierend auf Node.js entwickelt wurde
Koa-Router
Router-Middleware für Koa. Bietet RESTful-Ressourcenrouting.
Koa-Router
Router-Middleware für Koa[list][*]Express-Routing mit app.get, app.put, app.post usw.
[*]Benannte URL-Parameter.
[*]Benannte Routen mit URL-Generierung.
[*]Reagiert auf OPTIONS-Anfragen mit zulässigen Methoden.
[*]Unterstützung für 405-Methode nicht zulässig und 501 nicht implementiert.
[*]Middleware mit mehreren Routen.
[*]Mehrere Router.
[*]Nestbare Router.
[*]ES7 Async/Await-Unterstützung (Koa-Router 7.x).[/list]Koa 2.x
Informationen zu Koa 2.x und Async/Await-Unterstützung finden Sie unter koa-router 7.x.
Installation
Installation mit npm:npm install koa-router
API-Referenz[list][*]koa-router
[*]Router ⏏
[*]neuer Router([opts])
[*]Instanz
[*].get|put|post|patch|delete ⇒ Router
[*].param(param, middleware) ⇒ Router
[*].use([path], middleware, [...]) ⇒ Router
[*].routes ⇒ Funktion
[*].allowedMethods([options]) ⇒ Funktion
[*].redirect(Quelle, Ziel, Code) ⇒ Router
[*].route(name) ⇒ Ebene | falsch
[*].url(name, params) ⇒ String | Fehler
[*]statisch
[*].url(path, params) ⇒ String[/list]Router
Art: Exportierte Klasse
neuer Router([opts])
Erstellen Sie einen neuen Router.
[table=50%]
var app = require('koa')();<br>
var router = require('koa-router')();<br>
<br>
router.get('/', function *(next) {...});<br>
<br>
app<br>
.use(router.routes())<br>
.use(router.allowedMethods());
var app = require('koa')();router<br>
.get('/', function *(next) {<br>
this.body = 'Hello World!';<br>
})<br>
.post('/users', function *(next) {<br>
// ... <br>
})<br>
.put('/users/:id', function *(next) {<br>
// ... <br>
})<br>
.del('/users/:id', function *(next) {<br>
// ... <br>
});
Approuter.get('user', '/users/:id', function *(next) {<br>
// ... <br>
});<br>
<br>
router.url('user', 3);<br>
// => "/users/3"
this.body = 'Hallo Welt!';router.get(<br>
'/users/:id',<br>
function *(next) {<br>
this.user = yield User.findOne(this.params.id);<br>
yield next;<br>
},<br>
function *(next) {<br>
console.log(this.user);<br>
// => { id: 17, name: "Alex" } <br>
}<br>
);
// ...
})
.put('/users/:id', function *(next) {
.del('/users/:id', function *(next) {<br>
// ... <br>
});
Routenpfade werden mit path-to-regexp in reguläre Ausdrücke übersetzt.var router = new Router({<code class="prettyprint linenums lang-php">var router = new Router({<br>
prefix: '/users'<br>
});<br>
<br>
router.get('/', ...); // responds to "/users" <br>
router.get('/:id', ...); // responds to "/users/:id"
Präfix: '/users'
});
router.get('/:category/:title', function *(next) {<br>
console.log(this.params);<br>
// => { category: 'programming', title: 'how-to-node' } <br>
});
URL-Parameterrouter.get('/:category/:title', function *(next) {<tr> hinzugefügt
console.log(this.params);<td>
// => { Kategorie: 'Programmierung', Titel: 'How-to-Node' } </td>
});<td></td>Art<td>: Instanzeigenschaft des Routers</td>
</tr>
[table=50%]<tr>
<td>Param </td>
<td>Typ </td>
<td> Beschreibung</td>
</tr>
<tr>
<td> Pfad</td>
<td> Zeichenfolge</td> <td> </td>
</tr>
<tr>
<td> [Middleware]</td>
<td>Funktion </td>
<td>Middleware(s) weiterleiten </td>
</tr>
<b></b> Rückruf<br><br>Funktion <br><br>Routenrückruf<br><br>[/table]<br>router.routes<br> ⇒ Funktion<br>
<br>
Gibt Router-Middleware zurück, die eine der Anfrage entsprechende Route aussendet.<br>
<br>
Art: Instanzeigenschaft des Routers<br>
<br>
router.use([Pfad], Middleware, [...]) ⇒ Router<tr>
<td>
Verwenden Sie die angegebene(n) Middleware(s) vor dem Routenrückruf.</td>
<td>
Wird nur ausgeführt, wenn eine Route übereinstimmt. Wenn ein Pfad angegeben ist, wird die Middleware für alle Routen ausgeführt, die diesen Pfad enthalten.</td>
</tr>
Art: Instanzmethode des Routers<tr>
<td>
[table=50%]</td>
<td>Param</td>
</tr>Type <tr>
<td></td>
<td> [path]</td>
</tr>String <tr>
<td></td>
<td>Middleware </td>
</tr>Funktion <b></b><code class="prettyprint linenums lang-php">router.use(session(), authorize());<br>
<br>
// use middleware only with given path <br>
router.use('/users', userAuth());<br>
<br>
app.use(router.routes());
[...] router.use(session(), authorize());
router.prefix('/things/:thing_id')
Param router.prefix('/things/:thing_id')<td>router.allowedMethods([options]) ⇒ Funktion</td>
<td>
Gibt eine separate Middleware für die Antwort auf OPTIONS-Anfragen mit einem Allow-Header zurück, der die zulässigen Methoden enthält, und antwortet gegebenenfalls mit 405 Method Not Allowed und 501 Not Implemented.</td>
var app = koa();<br>
var router = router();<br>
<br>
app.use(router.routes());<br>
app.use(router.allowedMethods());<br>
<br>
Example with Boom<br>
<br>
var app = koa();<br>
var router = router();<br>
var Boom = require('boom');<br>
<br>
app.use(router.routes());<br>
app.use(router.allowedMethods({<br>
throw: true,<br>
notImplemented: () => new Boom.notImplemented(),<br>
methodNotAllowed: () => new Boom.methodNotAllowed()<br>
}));
wirft den zurückgegebenen Wert anstelle des standardmäßigen NotImplemented-Fehlers aus router.redirect('/login', 'sign-in');
router.all('/login', function *() {<br>
this.redirect('/sign-in');<br>
this.status = 301;<br>
});
löst den zurückgegebenen Wert anstelle des standardmäßigen MethodNotAllowed-Fehlers ausvar app = koa();
var router = router();
app.use(router.routes());
app.use(router.allowedMethods());
Beispiel mit Boom
var app = koa();
var router = router();
var Boom = require('boom');
app.use(router.routes());
app.use(router.allowedMethods({
throw: true,
notImplemented: () => new Boom.notImplemented(),
methodNotAllowed: () => new Boom.methodNotAllowed()
}));router.redirect(Quelle, Ziel, Code) ⇒ Router
Leiten Sie die Quelle zur Ziel-URL mit optionalem 30-fachem Statuscode um.
Sowohl Quelle als auch Ziel können Routennamen sein.<code class="prettyprint Linenums lang-php">router.redirect('/login', 'sign-in');Dies entspricht:<code class=" Prettyprint Linenums lang-php">router.all('/login', function *() {
this.redirect('/sign-in');
this.status = 301;
});Art: Instanzmethode des Routers
[table=50%]<tr>
<td>Param</td>
<td>Typ</td>
<td>Beschreibung </td>
</tr>
<tr>
<td>Quelle</td>
<td>String</td> <td>URL oder Routenname.</td>
</tr>
<tr>
<td>Ziel</td>
<td>Zeichenfolge</td>
<td>URL oder Routenname >Code</td>
</tr>Nummer<tr>
<td>HTTP-Statuscode (Standard: 301).</td>
<td>[/table]</td>router.route(name) ⇒ Layer |
<td>
Route mit Vornamen suchen.</td>
</tr>
<b>Art</b>: Instanzmethode des Routers<br>
<br>
Parametertyp<br>
Namenszeichenfolge<br>
<b>
router.url(name, params) ⇒ String |. Fehler</b>
<br>
URL für Route generieren Nimmt den Routennamen und eine benannte Karte an<br>
<br>
Wemall Open-Source-Mikro-Einkaufszentrum, WeChat-Einkaufszentrum, Mall-Quellcode, dreistufige Verteilung, Mikro-Frischelebensmittel, Mikro-Obst, Mikro-Imbiss, Mikro-Bestellung --- professionelles o2o-System <br>
<br>
Wemall-Adresse: http://www.wemallshop.com<br>
<br>
<br>
Codequelle: http://js.koahub.com/home/feature/koa-jwt<br>
<br> <br><br><br><br>
<br>