KoaHub平台基于Node.js开发的Koa router路由插件代码信息详情
koa-router
Router middleware for koa. Provides RESTful resource routing.
Router middleware for koa
- Express-style routing using app.get, app.put, app.post, etc.
- Named URL parameters.
- Named routes with URL generation.
- Responds to OPTIONS requests with allowed methods.
- Support for 405 Method Not Allowed and 501 Not Implemented.
- Multiple route middleware.
- Multiple routers.
- Nestable routers.
- ES7 async/await support (koa-router 7.x).
npm install koa-router
- koa-router
- Router
- new Router([opts])
- instance
- .get|put|post|patch|delete ⇒ Router
- .param(param, middleware) ⇒ Router
- .use([path], middleware, [...]) ⇒ Router
- .routes ⇒ function
- .allowedMethods([options]) ⇒ function
- .redirect(source, destination, code) ⇒ Router
- .route(name) ⇒ Layer | false
- .url(name, params) ⇒ String | Error
- static
- .url(path, params) ⇒ String
- Router
|
Param
|
Type
|
Description
|
| [opts] | Object | |
| [opts.prefix] | String | prefix router paths |
var app = require('koa')();
var router = require('koa-router')();
router.get('/', function *(next) {...});
app
.use(router.routes())
.use(router.allowedMethods());
router.get|put|post|patch|delete ⇒ Router
router
.get('/', function *(next) {
this.body = 'Hello World!';
})
.post('/users', function *(next) {
// ...
})
.put('/users/:id', function *(next) {
// ...
})
.del('/users/:id', function *(next) {
// ...
});
router.get('user', '/users/:id', function *(next) {
// ...
});
router.url('user', 3);
// => "/users/3"
router.get(
'/users/:id',
function *(next) {
this.user = yield User.findOne(this.params.id);
yield next;
},
function *(next) {
console.log(this.user);
// => { id: 17, name: "Alex" }
}
);
var forums = new Router();
var posts = new Router();
posts.get('/', function *(next) {...});
posts.get('/:pid', function *(next) {...});
forums.use('/forums/:fid/posts', posts.routes(), posts.allowedMethods());
// responds to "/forums/123/posts" and "/forums/123/posts/123"
app.use(forums.routes());
var router = new Router({
prefix: '/users'
});
router.get('/', ...); // responds to "/users"
router.get('/:id', ...); // responds to "/users/:id"
router.get('/:category/:title', function *(next) {
console.log(this.params);
// => { category: 'programming', title: 'how-to-node' }
});
|
Param
|
Type
|
Description
|
| path | String | |
| [middleware] | function | route middleware(s) |
| callback | function | route callback |
router.use([path], middleware, [...]) ⇒ Router
|
Param
|
Type
|
| [path] | String |
| middleware | function |
| [...] | function |
router.use(session(), authorize());
// use middleware only with given path
router.use('/users', userAuth());
app.use(router.routes());
router.prefix(prefix) ⇒ Router
|
Param
|
Type
|
| prefix | String |
router.prefix('/things/:thing_id')
router.allowedMethods([options]) ⇒ function
|
Param
|
Type
|
Description
|
| [options] | Object | |
| [options.throw] | Boolean | throw error instead of setting status and header |
| [options.notImplemented] | Function | throw the returned value in place of the default NotImplemented error |
| [options.methodNotAllowed] | Function | throw the returned value in place of the default MethodNotAllowed error |
var app = koa(); var router = router(); app.use(router.routes()); app.use(router.allowedMethods());
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(source, destination, code) ⇒ Router
router.redirect('/login', 'sign-in');
router.all('/login', function *() {
this.redirect('/sign-in');
this.status = 301;
});
|
Param
|
Type
|
Description
|
| source | String | URL or route name. |
| destination | String | URL or route name. |
| code | Number | HTTP status code (default: 301). |
router.route(name) ⇒ Layer | false
|
Param
|
Type
|
| name | String |
router.url(name, params) ⇒ String | Error

KoaHub平台基于Node.js开发的Koa router路由插件代码信息详情的更多相关文章
- KoaHub平台基于Node.js开发的Koa 连接支付宝插件代码信息详情
KoaHub平台基于Node.js开发的Koa 链接支付宝插件代码信息详情 easy-alipay alipay payment & notification APIs easy-alipay ...
- KoaHub平台基于Node.js开发的Koa JWT认证插件代码信息详情
koa-jwt Koa JWT authentication middleware. koa-jwt Koa middleware that validates JSON Web Tokens and ...
- KoaHub平台基于Node.js开发的Koa EJS渲染插件代码信息详情
koa-ejs ejs render middleware for koa koa-ejs Koa ejs view render middleware. support all feature of ...
- KoaHub平台基于Node.js开发的Koa的skip插件代码详情
koahub-skip koahub skip middleware koahub skip Conditionally skip a middleware when a condition is m ...
- KoaHub平台基于Node.js开发的Koa的简单包装到请求库的类似接口
co-request co-request promisify wrapper for request co-request Simple wrapper to the request library ...
- KoaHub平台基于Node.js开发的Koa的调试实用程序
debug small debugging utility debug tiny node.js debugging utility modelled after node core's debugg ...
- KoaHub平台基于Node.js开发的Koa的连接MongoDB插件代码详情
koa-mongo MongoDB middleware for koa, support connection pool. koa-mongo koa-mongo is a mongodb midd ...
- KoaHub平台基于Node.js开发的Koa的rewrite and index support插件代码详情
koa-static-server Static file serving middleware for koa with directory, rewrite and index support k ...
- KoaHub平台基于Node.js开发的Koa的get/set session插件代码详情
koa-session2 Middleware for Koa2 to get/set session use with custom stores such as Redis or mongodb ...
随机推荐
- HTML 颜色
HTML 颜色 HTML 颜色由红色.绿色.蓝色混合而成. 颜色值 HTML 颜色由一个十六进制符号来定义,这个符号由红色.绿色和蓝色的值组成(RGB). 种颜色的最小值是0(十六进制:#00).最大 ...
- LINQ to Sql系列一 增,删,改
首先,我们来了解一下LINQ to sql 是什么,我想从以下几点来做说明. 1,LINQ是从.net framework 3.0开始引入的的语言特性,主要是用来对集合数据进行操作的.2,LINQ t ...
- angular实现form验证
先上效果页面:https://lpdong.github.io/myForm-1/ 其中几个知识点 1.angularJs提供了几个新的type类型: type="password" ...
- POJ2479(dp)
Maximum sum Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 39089 Accepted: 12221 Des ...
- ADO.NET高级应用
ADO.NET事务处理(4个步骤) 1.调用SqlConnection对象的BeginTransaction()方法,创建一个SqlTransaction对象,标志事务开始. 2.将创建的SqlTra ...
- Windows Container 和 Docker:你需要知道的5件事
微软在2016年的Ignite技术大会上正式发布了Windows Server 2016,其中的容器服务已经可以作为生产环境使用.这意味着Windows 内置的容器服务正式进入了大家的视野,虽然之前我 ...
- CSS3知识点整理(二)----CSS3选择器
总结各种CSS3选择器的介绍及具体语法 (一)属性选择器 在CSS2中引入了一些属性选择器,而CSS3在CSS2的基础上对属性选择器进行了扩展,新增了3个属性选择器,使得属性选择器有了通配符的概念,这 ...
- React-intl 实现多语言
前言 React 做国际化,我推荐使用 React-intl , 这个库提供了 React 组件和Api两种方式来格式化日期,数字和字符串等.知道这个库了,那让我们开始使用它 组件用法 为了和Reac ...
- Javascript—②函数
新手Perfect教程之Javascript②教程-函数 前言:上回我们是从hello world开始的,本期将会讲"函数" 在学自定义函数之前,先了解几个已经定义好的函数: 1 ...
- [UWP]附加属性2:实现一个Canvas
5. 附加属性实践:自定义Canvas 附加属性在UWP中是一个十分重要的组成部分,很多功能都依赖于附加属性实现,典型的例子是常用的Grid和Canvas.通常附加属性有三个使用场景:插入属性.触发行 ...