代码拉取完成,页面将自动刷新
简洁而强大的 web 框架。
const Toa = require('toa')
const app = Toa(function () {
// this function will run after all middlewares
this.body = this.state
})
// support sync function middleware
app.use(function () {
this.state.syncFn = 'support!'
})
// support thunk function middleware
app.use(function (next) {
this.state.thunkFn = 'support!'
setTimeout(next, 10)
})
// support generator function middleware
app.use(function * () {
this.state.generatorFn = yield Promise.resolve('support!')
})
// support async function middleware in babel or Node.js v7~
// babel-node --presets es2015 --plugins transform-async-to-generator example/simple.js
app.use(async function () {
this.state.asyncFn = await Promise.resolve('support!')
})
app.listen(3000)
npm install toa
Toa 是 Koa 的改进版。
Toa 修改自 Koa,基本架构原理与 Koa 相似,context
、request
、response
三大基础对象几乎一样。但 Toa 是基于 thunks 组合业务逻辑,来实现异步流程控制和异常处理。
Toa 的异步核心是 thunk
函数,支持 node.js v0.10.x
,但在支持 generator 的 node 环境中(io.js, node.js >= v0.11.9)将会有更好地编程体验:用同步逻辑编写非阻塞的异步程序。
Toa 与 Koa 学习成本和编程体验是一致的,两者之间几乎是无缝切换。但 Toa 去掉了 Koa 的 级联(Cascading)
逻辑,强化中间件,强化模块化组件,尽量削弱第三方组件访问应用的能力,使得编写大型应用的结构逻辑更简洁明了,也更安全。
与 Koa 一样, Toa 也没有绑定多余的功能,而仅仅提供了一个轻量优雅的函数库,异步控制处理器和强大的扩展能力。
使用者可以根据自己的需求选择独立的功能模块或中间件,或自己实现相关功能模块。以下是 Toajs 提供的基础性的功能模块。它们已能满足大多数的应用需求。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型