1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/koahubjs-koahub

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

wemall商城 и koahub商城的所有系统将在四月底或五月初免费提供下载。如需更多信息,请联系支持团队。

введите описание изображения здесь

KoaHub.js

лицензия travis-ci codecov Статус зависимости

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

Функции* Поддержка всех middleware для Koa.js

  • Поддержка использования всех возможностей ES6+ для разработки проектов
  • Поддержка отладки проектов на ES6+
  • Поддержка различных структур проектов и различных окружений
  • Поддержка использования всех API Koa.js в контроллерах
  • Поддержка многоуровневых контроллеров
  • Поддержка автоматической загрузки
  • Поддержка механизма хуков
  • Поддержка Socket.io
  • Поддержка обработки ошибок
  • Поддержка глобальной переменной koahub
  • Поддержка быстрых методов
  • Поддержка изменения кода с немедленным применением
  • Поддержка предварительных, последних и пустых действий
  • Поддержка отключения методов контроллеров
  • Поддержка Restful дизайна
  • Поддержка автоматической загрузки Common
  • Поддержка настройки запуска
  • ...## Установка
npm install koahubjs/koahub --save

Создание файла запуска

// app/index.js файл запуска
const Koahub = require('koahub');

Инициализация проекта

const app = new Koahub();

// Запуск проекта
app.run();

Методы

Функции или параметры на ctx автоматически загружаются в контроллер, например, поддерживается this.body = 'Hello World!', конкретные API ctx см. в документации 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 напрямую

Командная строка

KoaHub CLI

Конфигурация

// 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,

// Настройки сессий
'koa-session2': false,

// Настройки статических файлов
'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'
    }]
]

Запуск приложения

async/await

# Клонирование репозитория
git clone https://github.com/koahubjs/koahub-demo.git
# Перемещение в проект
cd koahub-demo
# Установка зависимостей
npm install
# Запуск приложения
npm start

promise

# Клонирование репозитория
git clone https://github.com/koahubjs/koahub-demo-promise.git
# Перемещение в проект
cd koahub-demo-promise
# Установка зависимостей
npm install
# Запуск приложения
npm start

generator

# Клонирование репозитория
git clone https://github.com/koahubjs/koahub-demo-generator.git
# Перемещение в проект
cd koahub-demo-generator
# Установка зависимостей
npm install
# Запуск приложения
npm start
```## Информация о запуске

```text
[2017-05-14 11:48:05] [Koahub] Версия Koahub: 2.2.6
[2017-05-14 11:48:05] [Koahub] Сайт Koahub: http://js.koahub.com
[2017-05-14 11:48:05] [Koahub] Версия Nodejs: v8.0.0
[2017-05-14 11:48:05] [Koahub] Платформа Nodejs: darwin x64
[2017-05-14 11:48:05] [Koahub] Окружение сервера: development
[2017-05-14 11:48:05] [Koahub] Сервер запущен по адресу: http://127.0.0.1:3000

Руководство пользователя

Руководство по KoaHub.js

Официальный сайт

Официальный сайт KoaHub.js

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/koahubjs-koahub.git
git@api.gitlife.ru:oschina-mirror/koahubjs-koahub.git
oschina-mirror
koahubjs-koahub
koahubjs-koahub
master