KoaHub.jsNode.js Web 快速开发框架
KoaHub.js -- 中文最佳实践Node.js Web快速开发框架。支持Koa.js, Express.js中间件,可以直接在项目里使用 ES6/7(Generator Function, Class, Async & Await)等特性,借助 Babel 编译,可稳定运行在 Node.js 环境上。
//base controller, app/controller/home/base.controller.js export default class extends koahub.http { async _initialize() { console.log('base _initialize'); } async isLogin() { console.log('base isLogin'); } } //index controller, app/controller/home/index.controller.js import base from "./base.controller"; export default class extends base { async _initialize() { await super._initialize(); } async index() { this.view(1); } async index2() { this.json(1, 2); } async index3() { await this.render('index'); } }
项目中可以使用 ES6/7 里的所有特性,借助 Babel 编译,可以稳定运行在 >=0.12.0 的 Node.js 环境中。
特性
-
支持koa全部中间件
-
支持使用 ES2015+ 全部特性来开发项目
-
支持断点调试 ES2015+ 项目
-
支持多种项目结构和多种项目环境
-
支持多级 Controller
-
支持自动加载
-
支持钩子机制
-
支持Socket.io
-
支持错误处理
-
支持全局koahub变量
-
支持快捷方法
-
支持修改代码,立即生效
-
...
安装
npm install github:koahubjs/koahub --save
创建启动文件
// app/index.js启动文件 import Koahub from "koahub"; //默认app是项目目录 const app = new Koahub(); app.getKoa();获取koa实例化,支持自定义koa中间件 app.getServer();获取server实例化,支持socket.io app.run();
方法
this.ctx; this.next; this.method(); this.isGet(); this.isPost(); this.isAjax(); this.isPjax(); this.isMethod(method); this.ip(); this.header(name, value); this.status(code); this.get(name, value); this.post(name, value);//需中间件,且快捷方法 this.file(name, value);//需中间件,且快捷方法 this.session(name, value);//需session中间件 this.cookie.get(name, options); this.cookie.set(name, value, options); this.hook.add(name, action); await this.hook.run(name, ...args); this.host(); this.redirect(url); this.download(file); this.view(data); this.json(data, msg, code); this.success(data, msg); this.error(data, msg); this.state(name, value); await this.render(tpl, locals);//需中间件 await this.action(path, ...args);
快捷中间件
// use koa-better-body 自定义post/file中间件 koa.use(async function (ctx, next) { if (ctx.request.fields) { ctx.post = ctx.request.fields; } if (ctx.request.files) { ctx.file = ctx.request.files; } await next(); });
目录结构
|-- app | |-- addon | | |-- demo | | | |-- config.json | | | |-- controller | | | |-- model | | | `-- view | |-- config | | |-- index.config.js | |-- controller | | |-- home | | | |-- index.controller.js | | | `-- base.controller.js | | |-- admin | |-- data | |-- model | |-- util | |-- index.js |-- logs |-- node_modules |-- runtime |-- www |-- app.js |-- package.json
命令行工具
koahub Usage: koahub [options] [command] Commands: start [options] [script] koahub start script --watch --compile controller [name] koahub create controller create [project] koahub create project Options: -h, --help output usage information -V, --version output the version number Examples: koahub start app/index.js --watch --compile (文件修改自动编译并且重启) koahub controller home/article (自动创建控制器模版) koahub create koahub-demo (自动初始化项目)
配置
// app/config/index.config.js export default { port: 3000, default_module: 'admin' } //启动端口 port: 3000, //调试模式 debug: true, //默认模块,控制器,操作 default_module: 'home', default_controller: 'index', default_action: 'index', //favicon设置 favicon: 'www/favicon.ico', //hook中间件 hook: true, //http日志 logger: true, //url后缀 url_suffix: '', //自动加载配置 such as koahub.utils loader: { "utils": { root: 'util', suffix: '.util.js' } }
开始应用
git clone https://github.com/koahubjs/koahub-demo.git cd koahub-demo npm install npm start
启动信息:
[2016-11-28 09:56:03] [Koahub] Koahub version: 1.1.0 [2016-11-28 09:56:03] [Koahub] Koahub website: http://js.koahub.com [2016-11-28 09:56:03] [Koahub] Server Enviroment: development [2016-11-28 09:56:03] [Koahub] Server running at: http://127.0.0.1:3000
使用手册
官网
评论
KoaHub.jsNode.js Web 快速开发框架
KoaHub.js--中文最佳实践Node.jsWeb快速开发框架。支持Koa.js,Express.js中间件,可以直接在项目里使用ES6/7(GeneratorFunction,Class,Asy
KoaHub.jsNode.js Web 快速开发框架
0
webgiisooJava web 快速开发框架
一款Web Java的快速开发框架,绝对高效开发,高性能应用系统,使用更加简单的MV模式,简化了MVC开发模式。极易的模块间的扩展和复用,使得开发更加快速。“我们的宗旨就是让代码更加简单、高效”。
webgiisooJava web 快速开发框架
0
Doodoo.jsNode.js Web 快速开发框架
简介Doodoo.js -- 中文最佳实践Node.js Web快速开发框架。支持Koa.js中间件
Doodoo.jsNode.js Web 快速开发框架
0
Doodoo.jsNode.js Web 快速开发框架
简介Doodoo.js--中文最佳实践Node.jsWeb快速开发框架。支持Koa.js中间件,支持模块化,插件,钩子机制,可以直接在项目里使用ES6/7(GeneratorFunction,Clas
Doodoo.jsNode.js Web 快速开发框架
0
NiubiCloudJava Web 快速开发框架
NiubiCloud是一款简洁无依赖的JavaWeb快速开发框架快速开发Java服务器端,耦合性强,无需繁杂的配置基于异步架构,轻松应对百万级请求处理轻松实现业务分解和微服务化前身NiubiCloud
NiubiCloudJava Web 快速开发框架
0