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


MIT
跨平台
JavaScript

软件简介

一个快速的 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')
})