koahubjs 1.0.0 发布,基于 Koa.js 快速开发框架

einsqing
 einsqing
发布于 2017年01月07日
收藏 12

koahubjs 发布 1.0.0 正式版,基于 Koa.js 的快速开发框架。

KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架。可以直接在项目里使用 ES6/7(Generator Function, Class, Async & Await)等特性,借助 Babel 编译,可稳定运行在 Node.js 环境上。

特性

  • 支持koa全部中间件

  • 支持使用 ES2015+ 全部特性来开发项目

  • 支持断点调试 ES2015+ 项目

  • 支持多种项目结构和多种项目环境

  • 支持多级 Controller

  • 支持自动加载

  • 支持钩子机制

  • 支持Socket.io 支持错误处理

  • 支持全局koahub变量

  • 支持快捷方法

  • 支持修改代码,立即生效

  • 支持前置,后置,空操作

  • 支持禁用控制器方法

  • 支持restful

  • ...

优化

1.优化promise性能

2.优化restful配置说明

修复

1.修复未匹配rest bug

2.修复pm2启动bug

3.修复前置后置不响应404设计

koahub-cli 发布 0.1.0,koahubjs ES6/7 快速开发工具

自动babel编译 ES6/7(Generator Function, Class, Async & Await)并且文件修改后自动重启

特性

  • 自动重启

  • 自动babel编译

  • 自动创建koahubjs项目

  • 自动创建控制器

  • 支持全局命令行

  • 支持模块启动 ...

支持

  • // 启动1 app.js require('koahub-cli').run('start app/index.js --watch --compile');

  • // 启动2 koahub start app/index.js --watch --compile


框架对比

vs express

优点: 

  • Express拥有的社区不仅仅是上面三者当中最大的,并且是所有Node.js web应用程序框架当中最大的。nodejs中最成熟的框架。它为服务器启动和运行提供了简单的方式,并且通过内置的路由提高了代码的复用性。

缺点:

  • 使用Express需要手动处理很多单调乏味的任务。它没有内置的错误处理。当你需要解决某个特定的问题的时候,你会容易迷失在众多可以添加的中间件中,在Express中,你有太多方式去解决同一个问题。Express自诩为高度可配置,这有好处也有坏处,对于准备使用Express的刚入门的开发者来说,这不是一件好的事情。并且对比起其他框架来说,Express体积更大。


vs koa

优点:

  • Koa有着傲人的身材(体积小),它表现力更强;对比起其他框架,它使得中间件的编写变的更加容易。Koa基本上就是一个只有骨架的框架,你可以选择(或者自己写一个)中间件,而不用妥协于Express它们自带的中间件。

缺点:

  • 使用ES6/7还是有点太超前了,例如只有0.11.9+的Node.js版本才能运行Koa。和Express一样有好也有坏的一点就是,在多种中间件的选择还是自己写中间件。就像我们之前所用的router那样,有太多类似的router中间件可供我们选择。中间件参差不齐。


vs thinkjs

优点:

  • thinkjs使用es6/7开发,支持typescript,数据库支持非常丰富,nodejs里面开发体验非常棒,自动更新修改代码立即生效等特性。中文开发文档很适合国人开发。

缺点:

  • 生态不成熟,thinkjs的中间件非常少,很多需要自己单独开发。

vs koahubjs

优点:

  • koahubjs基于koajs,使用es6/7特性,支持大量的中间件,开发体验非常棒,兼容callback,promise,generation,async/await。开发nodejs项目上手迅速。koahubjs仅内置logger,favicon中间件开发灵活。并且是中文文档很适合国人开发,开发体验上借鉴了thinkphp,thinkjs,koa等优秀的框架,最重要的是体积小。

缺点:

  • koahubjs属于新项目,仅经历4个月的时间,96次更新。受nodejs各种诟病的影响,以及国内nodejs开发生态圈,目前使用koahubjs开发的项目比较少,但是从npm安装统计来看高于thinkjs。

官网:

http://js.koahub.com

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:koahubjs 1.0.0 发布,基于 Koa.js 快速开发框架
加载中

最新评论(6

einsqing
einsqing

引用来自“百小僧”的评论

子类应当通过自身对象访问基类成员,而不应该直接调用基类成员,这样失去了继承的意义。
我说昵称这么熟悉,原来是monk.node作者,对koahubjs,你觉得有啥改进意见?
einsqing
einsqing

引用来自“百小僧”的评论

控制器设计不合理,既然继承了base.controller就不应该再调用super基类的成员方法。和面向对象继承也有所违背
手动传值后,对ctx和next的操作更加方便,父类只提供了几个快捷方法
einsqing
einsqing

引用来自“百小僧”的评论

控制器设计不合理,既然继承了base.controller就不应该再调用super基类的成员方法。和面向对象继承也有所违背
es6必须手动调用传值ctx和next
einsqing
einsqing

引用来自“百小僧”的评论

控制器设计不合理,既然继承了base.controller就不应该再调用super基类的成员方法。和面向对象继承也有所违背
必须es6手动调用传值ctx和next
百小僧
百小僧
子类应当通过自身对象访问基类成员,而不应该直接调用基类成员,这样失去了继承的意义。
百小僧
百小僧
控制器设计不合理,既然继承了base.controller就不应该再调用super基类的成员方法。和面向对象继承也有所违背
返回顶部
顶部