KoaHub.js 1.2.2 更新。KoaHub.js 是基于 Koa.js 平台的 Node.js web 快速开发框架。可以直接在项目里使用 ES6/7(Generator Function, Class, Async & Await)等特性,借助 Babel 编译,可稳定运行在 Node.js 环境上。
【新增】新增支持generator函数
【修复】修复router匹配规则,区分大小写
【新增】新增async/await,generator,promise版本demo
通过大量的社区调查和实践,我们发现目前中大型服务器后端项目不太适合使用Babel,无法完成定点调试,Babel转义等等问题严重阻碍着我们的工作效率。因此我们提供了3种方式供用户选择,generator => async/await 后期升级成本非常低,基本批量替换就可以完成;promise => async/await 后期升级有一定的成本,相对来说有点麻烦。3种开发方式 async/await 需要babel支持,另外两种不需要babel支持,推荐使用generator版本。
koahub-demo=> demo中主要使用了async/await import/export
export default class extends koahub.controller { _initialize() { //设置模版主题 this.state.theme = 'home'; } async index() { const context = {version: process.version, time: new Date()}; const article = await this.model('article').getList({}); await this.render('index', {context: context, article: article}); } }
koahub-demo-generator => demo中主要使用了generator
module.exports = class extends koahub.controller { _initialize() { //设置模版主题 this.state.theme = 'home'; } *index() { var context = {version: process.version, time: new Date()}; var article = yield this.model('article').getList({}); yield this.render('index', {context: context, article: article}); } }
koahub-demo-promise => demo中主要使用了promise
module.exports = class extends koahub.controller { _initialize() { //设置模版主题 this.state.theme = 'home'; } index() { var context = {version: process.version, time: new Date()}; var that = this; return this.model('article').getList({}).then(function (article) { return that.render('index', {context: context, article: article}); }); } }
官网:http://js.koahub.com