koahubjs mysql_GitHub - koahubjs/koahub: KoaHub.js -- 中文最佳实践Node.js Web快速开发框架。支持Koa.js, Express.js中间...

KoaHub.js

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6b6f616875626a732f6b6f616875622e7376673f7374796c653d666c61742d737175617265

68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6b6f616875626a732f6b6f616875622e7376673f7374796c653d666c61742d737175617265

68747470733a2f2f636f6465636f762e696f2f67682f6b6f616875626a732f6b6f616875622f6272616e63682f6d61737465722f67726170682f62616467652e737667

68747470733a2f2f696d672e736869656c64732e696f2f64617669642f6b6f616875626a732f6b6f616875622e7376673f7374796c653d666c61742d737175617265

KoaHub.js -- 中文最佳实践Node.js Web快速开发框架。支持Koa.js, Express.js中间件。当前项目已停止维护,推荐使用Doodoo.js

//base controller, admin/controller/base.controller.js

module.exports = class extends koahub.controller {

async _initialize() {

console.log('base _initialize');

}

async isLogin() {

console.log('base isLogin');

}

}

//index controller, admin/controller/index.controller.js

const base = require('./base.controller');

module.exports = 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');

}

}

环境要求:Node.js >= 7.6.0

特性

支持koa全部中间件

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

支持断点调试 ES6+ 项目

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

支持 Controller 中使用Koa.js的所有API

支持多级 Controller

支持自动加载

支持钩子机制

支持 Socket.io

支持错误处理

支持全局koahub变量

支持快捷方法

支持修改代码,立即生效

支持前置,后置,空操作

支持禁用控制器方法

支持 Restful 设计

支持 Common 自动加载

支持启动自定义

...

安装

npm install koahubjs/koahub --save

创建启动文件

// app/index.js启动文件

const Koahub = require('koahub');

// 初始化项目

const app = new Koahub();

// 启动项目

app.run();

方法

ctx上的函数或参数将自动加载到controller,例如支持 this.body = 'Hello World!', ctx中具体的API请参考Koa.js, controller中的扩展方法如下。

this.ctx;

this.next;

this.isGet();

this.isPost();

this.isAjax();

this.isPjax();

this.isMethod(method);

this.hook.add(name, action);

await this.hook.run(name, ...args);

this.download(file);

this.view(data);

this.json(data, msg, code);

this.success(data, msg);

this.error(data, msg);

await this.action(path, ...args);

快捷方法

// app/common.js 函数文件

module.exports = {

add(a, b){

return a + b;

}

}

// 控制器中可以直接通过this.add调用

快捷中间件

app.use(async function (ctx, next) {

ctx.model = function() {

// ....

}

await next();

});

// 控制器中可以直接通过this.model调用

命令行工具

配置

// app/config/default.config.js

module.exports = {

port: 3000,

default_module: 'admin'

}

//框架默认配置

//启动端口

port: 3000,

//默认模块,控制器,操作

default_module: 'home',

default_controller: 'index',

default_action: 'index',

//url后缀

url_suffix: '',

//自动加载配置

loader: {

"controllers": {

root: 'controller',

suffix: '.controller.js',

prefix: '/',

},

"configs": {

root: 'config',

suffix: '.config.js'

},

"middlewares": {

root: 'middleware',

suffix: '.middleware.js'

}

}

//中间件默认配置

//middleware顺序

middleware: ['koa-logger'],

//http日志

'koa-logger': true,

//favicon设置

'koa-favicon': 'www/favicon.ico',

//body配置

body: {

multipart: true

},

//cors配置

'koa-cors': false,

//session配置

'koa-session2': false,

//static配置

'koa-static-cache': false

其他

// 控制器初始化,前置,后置,空操作

async _initialize()

async _before()

async _before_index()

async index()

async _after_index()

async _after()

async _empty()

// 控制器私有方法

// 方法首页字符是`_`为私有方法

// 支持restful路由设置

// app/config/router.config.js

module.exports = [

['/product', {

get: "/home/product/index"

}],

['/product/:id', {

get: "/home/product/detail",

post: "/home/product/add",

put: "/home/product/update",

delete: "/home/product/delete",

}]

]

开始应用

async/await

// 下载demo

git clone https://github.com/koahubjs/koahub-demo.git

// 进入项目

cd koahub-demo

// 安装依赖

npm install

// 启动项目

npm start

promise

// 下载demo

git clone https://github.com/koahubjs/koahub-demo-promise.git

// 进入项目

cd koahub-demo-promise

// 安装依赖

npm install

// 启动项目

npm start

generator

// 下载demo

git clone https://github.com/koahubjs/koahub-demo-generator.git

// 进入项目

cd koahub-demo-generator

// 安装依赖

npm install

// 启动项目

npm start

启动信息

[2017-05-14 11:48:05] [Koahub] Koahub Version: 2.2.6

[2017-05-14 11:48:05] [Koahub] Koahub Website: http://js.koahub.com

[2017-05-14 11:48:05] [Koahub] Nodejs Version: v8.0.0

[2017-05-14 11:48:05] [Koahub] Nodejs Platform: darwin x64

[2017-05-14 11:48:05] [Koahub] Server Enviroment: development

[2017-05-14 11:48:05] [Koahub] Server running at: http://127.0.0.1:3000

使用手册

官网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值