简洁而强大的 web 框架:toa

jopen 9年前

Toa

简洁而强大的 web 框架。

Thanks to Koa and it's authors

Toa 简介

Toa 修改自 Koa,基本架构原理与 Koa 相似,contextrequestresponse 三大基础对象几乎一样。但 Toa 是基于 thunks 组合业务逻辑,来实现异步流程控制和异常处理。thunks 是一个比 co 更强大的异步流程控制工具。

Toa 的异步核心是 thunk 函数,支持 node.js v0.10.x,但在支持 generator 的 node 环境中(io.js, node.js >= v0.11.9)将会有更好地编程体验:用同步逻辑编写非阻塞的异步程序

ToaKoa 学习成本和编程体验是一致的,两者之间几乎是无缝切换。但 Toa 去掉了 Koa级联(Cascading) 逻辑,弱化中间件,强化模块化组件,尽量削弱第三方组件访问应用的能力,使得编写大型应用的结构逻辑更简洁明了,也更安全。

koa Process

koa Process

Toa Process

Toa Process

功能模块

与 Koa 一样, Toa 也没有绑定多余的功能,而仅仅提供了一个轻量优雅的函数库,异步控制处理器和强大的扩展能力。

使用者可以根据自己的需求选择独立的功能模块或中间件,或自己实现相关功能模块。以下是 Toajs 提供的基础性的功能模块。它们已能满足大多数的应用需求。

安装 Toa

npm install toa

Demo

var Toa = require('toa')  var app = Toa(function () {    this.body = 'Hello World!\n-- toa'  })    app.listen(3000)

API

使用手册

Application

Context

Request

Response

Change Log

Who's using

Teambition

  1. Teambition 用户社区 https://bbs.teambition.com/
  2. Teambition 文件服务 https://striker.teambition.net/
  3. Teambition 消息服务 https://push.teambition.com/

如果你也在用,不妨告知我~

项目地址: https://github.com/toajs/toa