wemall 商城 & koahub 商城所有系统将在四月底或五月初免费提供下载,如需更多详细信息,请联系支持服务。
koahub.js — лучшая практика для быстрого создания веб-приложений на Node.js с поддержкой middleware для Koa.js и Express.js. Проект больше не поддерживается, рекомендуется использовать Doodoo.js.
// Базовый контроллер, admin/controller/base.controller.js
module.exports = class extends koahub.controller {
async _initialize() {
console.log('base _initialize');
}
async isLogin() {
console.log('base isLogin');
}
}
// Контроллер главной страницы, 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
npm install koahubjs/koahub --save
// app/index.js файл запуска
const Koahub = require('koahub');
const app = new Koahub();
// Запуск проекта
app.run();
Функции или параметры в объекте ctx
автоматически загружаются в контроллер. Например, поддерживаются такие методы как this.body = 'Hello World!'
. Для конкретных API в контексте Koa.js обратитесь к документации Koa.js. Расширенные методы контроллера представлены ниже.
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: ['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
```javascript
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',
}]
]
# Клонировать demo
git clone https://github.com/koahubjs/koahub-demo.git
# Перейти в проект
cd koahub-demo
# Установить зависимости
npm install
# Запустить проект
npm start
# Клонировать demo
git clone https://github.com/koahubjs/koahub-demo-promise.git
# Перейти в проект
cd koahub-demo-promise
# Установить зависимости
npm install
# Запустить проект
npm start
```### Генератор
```sh
# Клонировать демонстрацию
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] Серверная среда: development
[2017-05-14 11:48:05] [Koahub] Сервер запущен по адресу: http://127.0.0.1:3000
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )