KoaHub.js是基于 Koa.js 平台的 Node.js web 快速开发框架
koahubjs
KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架。可以直接在项目里使用 ES6/7(Generator Function, Class, Async & Await)等特性,借助 Babel 编译,可稳定运行在 Node.js 环境上。
介绍
KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架。可以直接在项目里使用 ES6/7(Generator Function, Class, Async & Await)等特性,借助 Babel 编译,可稳定运行在 Node.js 环境上
//base controller, admin/controller/base.controller.js
export default class extends koahub.http{
constructor() {
super();
console.log('base constructor');
}
isLogin() {
console.log('base isLogin');
}
}
//index controller, admin/controller/index.controller.js
import base from "./base.controller";
export default class extends base{
constructor() {
super();
console.log('index constructor');
}
index() {
super.view(1);
}
index2() {
super.json(1,2);
}
}
项目中可以使用 ES6/7 里的所有特性,借助 Babel 编译,可以稳定运行在 >=0.12.0 的 Node.js 环境中。
特性
- 支持koa全部中间件
- 支持使用 ES2015+ 全部特性来开发项目
- 支持断点调试 ES2015+ 项目
- 支持多种项目结构和多种项目环境
- 支持多级 Controller
- 支持自动加载
- 支持钩子机制
- 支持Socket.io
- ...
安装
npm install koahubjs --save
创建启动文件
// src/index.js启动文件 import Koahub from "koahubjs"; //默认app是项目目录 const app = new Koahub(); app.getKoa();获取koahubjs实例化,支持自定义koa中间件 app.run();
目录结构
// 推荐目录结构 app --addon --config --controller --data --model --util node_modules src --addon --config --controller --data --model --util --index.js package.json
配置
// src/config/default.config.js
export default {
port: 3000,
default_module: 'admin'
}
以下为默认配置
//启动端口
port: 3000,
//项目目录
app_path: 'app',
//默认模块,控制器,操作
default_module: 'home',
default_controller: 'index',
default_action: 'index',
//http日志
log_on: true,
//favicon设置
favicon: 'www/public/favicon.ico',
//自动加载配置
loader: {
"controller": [{
root: 'app/controller',
suffix: '.controller.js',
prefix: '/',
}, {
root: 'app/addon',
suffix: '.controller.js',
prefix: '/addon/',
filter: [/\w*\/controller\//]
}],
"util": [{
root: 'app/util',
suffix: '.util.js'
}, {
root: 'app/addon',
suffix: '.util.js',
filter: [/\w*\/util\//]
}],
"model": [{
root: 'app/model',
suffix: '.model.js'
}, {
root: 'app/addon',
suffix: '.model.js',
filter: [/\w*\/model\//]
}],
"config": [{
root: 'app/config',
suffix: '.config.js'
}, {
root: 'app/addon',
suffix: '.config.js',
filter: [/\w*\/config\//]
}]
}
开始应用
npm run compile npm run start
启动信息:
[Koahubjs] Koahubjs version: 0.1.7 [Koahubjs] Koahubjs website: http://js.koahub.com [Koahubjs] Server running at http://127.0.0.1:3000
wemall 开源微商城 ,微信商城,商城源码,三级分销,微生鲜,微水果,微外卖,微订餐---专业的o2o系统
代码地址:http://js.koahub.com/home/feature/koahubjs

KoaHub.js是基于 Koa.js 平台的 Node.js web 快速开发框架的更多相关文章
- 基于 Koa.js 平台的 Node.js web 快速开发框架KoaHub.js demo 可安装
KoaHub.js demo KoaHub.js KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Fu ...
- KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-yilianyun
koahub-yilianyun 微信易联云打印机接口 koahub-yilianyun易联云打印机node接口 Installation $ npm install koahub-yilianyun ...
- KoaHub.js:使用ES6/7特性开发Node.js框架(2)
介绍 KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, Async ...
- KoaHub.js:使用ES6/7特性开发Node.js框架
KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, Async & ...
- io.js - 兼容 NPM 平台的 Node.js 新分支
io.js(JavaScript I/O)是兼容 NPM 平台的 Node.js 新分支,由 Node.js 的核心开发者在 Node.js 的基础上,引入更多的 ES6 特性,它的目的是提供更快的和 ...
- 深入浅出Node.js(一):什么是Node.js
Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟Joyent获得企业资助,再到 ...
- 深入浅出Node.js(一):什么是Node.js(转贴)
以下内容转自:http://www.infoq.com/cn/articles/what-is-nodejs/ 作者:崔康 [编者按]:Node.js从2009年诞生至今,已经发展了两年有余,其成长的 ...
- Node.js学习笔记(1):Node.js快速开始
Node.js学习笔记(1):Node.js快速开始 Node.js的安装 下载 官方网址:https://nodejs.org/en/ 说明: 在Windows上安装时务必选择全部组件,包括勾选Ad ...
- KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-loader
koahub loader Installation $ npm install koahub-loader Use with koa // 1.model loader var model = ...
随机推荐
- Intent的属性及Intent-filter配置——Extra属性——Flag属性
Intent的Extra属性通常用于在多个Action之间进行数据交换,Intent的Extra属性值应该是一个Bundle对象,Bundle对象的就像一个Map对象,它可以存入多组key-value ...
- swift版 关于微信支付的那点事
今天心情那真是想要强奸吉娃娃的冲动 说白了就是不想做和工作沾边的任何事 但是也不能闲着啊 时间那么贵 之前就想把微信支付做一下 主要就是怕自己忘记了 今天难得有时间 就来简单的记录一下 旨 ...
- sqlloader外部表
一创建目录 先在系统下创建 $ cd /home/oracle $ mkdir dir $ cd dir $ pwd 再在sqlplus里创建,让oracle知道这个目录 SQL> create ...
- Kingbase在初始化时遇到的错误
FATAL: could not create semaphores: No space left on deviceDETAIL: Failed system call was semget(58 ...
- SVG的path的使用
SVG的path的使用: 参考:http://justcoding.iteye.com/blog/2226354 <%@ page language="java" conte ...
- Bootstrap入门(二十八)JS插件5:工具提醒
Bootstrap入门(二十八)JS插件5:工具提醒 工具提示在使用过程中比较常见,但是实现起来有些麻烦,而bootstrap则很好地解决了这个问题. 我们来写一个简单的实例 先引入CSS文件和JS文 ...
- cygwin 运行窗口程序
首先, 默认安装的cygwin是不能运行窗口程序的 比如,一段python窗口程序: import * from tkinter Tk() mainloop() 如果使用命令行: python3 py ...
- NMEA-0183协议解析
NMEA-0183 NMEA 0183是美国国家海洋电子协会(National Marine Electronics Association )为海用电子设备制定的标准格式.目前业已成了GPS导航设备 ...
- Eclipse 报java.lang.UnsupportedClassVersionError: ("yourclass") bad major version at offset=6
报这个错误是指你的jar包或者class 的被编译的jdk版本比当前runtime的jdk版本高. 解决问题 1)如果是jar包,重新用jdk 1.6编译你的jar 包 2)如果是java文件或者项目 ...
- Python自然语言处理学习笔记之信息提取步骤&分块(chunking)
一.信息提取模型 信息提取的步骤共分为五步,原始数据为未经处理的字符串, 第一步:分句,用nltk.sent_tokenize(text)实现,得到一个list of strings 第二步:分词,[ ...