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')
})
 相关资料
  • 我现在打算向你展示使用TSTree来创建服务器中的快速URL路由。它适用于应用中的简单的URL匹配,而不是在许多Web应用框架中的更复杂(一些情况下也不必要)的路由发现功能。 我打算编程一个小型命令行工具和路由交互,他叫做urlor,读取简单的路由文件,之后提示用户输入要检索的URL。 #include <lcthw/tstree.h> #include <lcthw/bstrlib.h> TS

  • 我正在考虑将Socket.io集成到一个express应用程序中。 js有一个非常好的特性,可以通过socket.io消息调用快速路由。 不过,帆在其他方面比我需要的要多一点。我正在寻找一种方法,使socket.io请求转发到快速路由,而不必使用整个sails框架。我想这是一个很常见的需求,所以我很惊讶我没有找到一个npm模块来做这件事,但是找了很长时间,我什么也没有找到。Express.io会这

  • 路由器用于路由客户端应用程序并定义应用程序对象的URL表示。 当Web应用程序为应用程序中的重要位置提供可链接,可收藏且可共享的URL时,需要路由器。 下表列出了可用于操作BackboneJS - Router - S.No. 方法和描述 1 extend 它扩展了主干的路由器类。 2 routes 它定义了应用程序对象的URL表示。 3 initialize 它为路由器实例化创建了一个新的构造函

  • 推荐直接使用官方 vue-router,VUX部分组件支持link属性直接支持vue-router的路由参数,vux2模板内置了vue-router。 如果使用了过渡(转场动画),在iPhone上使用左划返回时动画会再执行一遍,目前没有找到可行的处理方法,如果你有处理方案,欢迎PR。 https://github.com/airyland/vux/pull/2259

  • 路由器是EmberJs的核心功能,它将URL转换为一系列模板并表示应用程序的状态.Ember使用路由器将URL映射到路由处理程序。 路由器将当前URL与用于加载数据,显示模板和设置应用程序状态的其他路由进行匹配。 路由处理程序执行一些操作,例如 - 它提供了模板。 它定义了模型,模板可以访问它。 如果没有用户访问应用程序特定部分的权限,则路由器将重定向到新路由。 下表列出了Ember.js中的不同

  • 我们将结束数据结构和算法的部分,并将数据结构用于实际问题。我已经写了几个 Web 服务器,一个不断出现的问题是,将 URL 路径匹配到“动作”。你会在每个 Web 框架,Web 服务器,和必须基于层次化的键来“路由”信息的任何东西中发现此问题。当你的 Web 服务器收到URL /do/this/stuff/时,必须确定每个部分是否可能附加了某种操作或配置。如果你在/do/配置了 Web 应用程序,