一个快速的 HTTP 路由器 moa-router

MIT
JavaScript
跨平台
2018-02-01
周其

一个快速的 HTTP 路由器,在内部使用一个高性能的基数树Radix Tree )(又名紧凑前缀树Prefix Tree)),支持路由参数,通配符,它是独立的框架。

性能

$ autocannon 127.0.0.1:3000/test

QPS

  1. moa-router(http) 28456

  2. moa-router(koa) 17439.6

  3. koa-router 12748.73

  4. moa-router(express) 11779.1

  5. express-router 10374.6

安装

$ npm i --save moa-router

使用

Koa

const http = require('http')
const Koa = require('koa');
const app = new Koa();

const router = require('moa-router')()

router.get('/', (ctx, next) => {
  ctx.body = {'path': 'root'}
})

router.on('GET', '/test', (ctx, next) => {
  ctx.body = {'hello': 'world'}
})

app.use(router.routes());

app.use(async function (ctx, next) {
  ctx.body = "default"
});

const server = http.createServer(app.callback())

server.listen(3030, err => {
  if (err) throw err
  console.log('Server listening on: http://localhost:3000')
})
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

Moa-api:一个基于node express快速开发api类后端的框架

目前是让开发可以快速的开发api类后端,开箱即用,可以最大程度发挥node express的威力

2015/08/05 20:14
971
1
nodejs里的repl

如果用过rails,一定很喜欢rails console,它可以直接调用AR里的各种方法,非常简单的就可以测试对db的各种操作。那么作为一个nodejs开放,是否也可以实现一样的功能呢?详见正文...

2015/08/06 09:40
1K
0
nodejs mongoose建模实践

一直以来mongoose学习都是比较麻烦的,mongoose-cli试图简化学习和测试mongoose部分,并通过app开发流程反思整个过程中业务逻辑部分如何抽象,以期简化开发与分层实现...

2015/08/07 14:30
150
0
Nodejs框架演进之路

nodejs web框架

2015/12/26 14:25
254
0
火狐主页设置行数

localStorage.setItem("moa.ntab.dial.rowlimit", 20)

2015/12/08 19:49
32
0
Nodejs Restful Api几点讨论

关于rest api的几点讨论,比如版本控制,标准restful api,以及回答了《给mysql和mongodb提供restful接口,有啥现成的包可提供》问题

2015/08/24 23:48
9.7K
5
全栈工程师之路-Node.js

主要内容:1. 为什么我们要选择 Node.js ?(历史\槽点\架构平衡和选择\企业级SaaS) 2. 我眼中的Node.js核心 3. 快速开发实践 4. 全栈 or 全烂 ?工具链/前端开发4阶段/Hybrid开发/跨平台/如何...

2016/04/08 09:46
376
1
vue入门总结(4)

1.路由的模式: 前文中我们创建VueRouter实例时用了mode:history的参数,这个值的意思是使用history模式,这种模式充分利用了history.pushState API来完成URL的跳转而无须重新加载页面。 如果...

2018/09/01 15:26
35
0
全栈工程师之路-Node.js

主要内容:1. 为什么我们要选择 Node.js ?(历史\槽点\架构平衡和选择\企业级SaaS) 2. 我眼中的Node.js核心 3. 快速开发实践 4. 全栈 or 全烂 ?工具链/前端开发4阶段/Hybrid开发/跨平台/如何...

2016/04/08 09:51
242
1
如何在Quagga BGP路由器中设置IPv6的BGP对等体和过滤

在本教程中,我们会向你演示如何创建IPv6 BGP对等体并通过BGP通告IPv6前缀。同时我们也将演示如何使用前缀列表和路由映射特性来过滤通告的或者获取到的IPv6前缀。 拓扑 服务供应商A和B希望在...

2015/10/23 10:20
169
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部