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

OSCHINA-MIRROR/tailipu-ynode

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md
__  ___   __          __
\ \/ / | / /___  ____/ /__
 \  /  |/ / __ \/ __  / _ \
 / / /|  / /_/ / /_/ /  __/
/_/_/ |_/\____/\__,_/\___/

Проект переименован в ifate, пожалуйста используйте ifate

Объектно-ориентированный эффективный node.js mvc и REST-фреймворк

Английское описание

Версия Node

  • Больше либо равно 6.0.0

Исходный код

Описание

ynode — это личный проект, рекомендую использовать candyjs в проектах, candyjs — это отдельный проект, развиваемый параллельно с ynode и использующий лицензию MIT.

Почему YNode

  • YNode реализует MVC (Model-View-Controller) модель проектирования и организует код согласно этой модели

  • YNode автоматически маршрутизирует запросы

  • YNode высокоширотен и высоконастраиваем

  • Код YNode прост и элегантен, что является его программной философией

Пример "Hello World"

Для использования YNode вам достаточно начать с одного входного файла, содержание которого можно создать с помощью встроенных инструментов. Подробнее см. документацию в директории doc.

var YNode = require('ynode');
var App = require('ynode/web/Application');

var app = new App({
    'id': 1,

    // Установка режима отладки
    'debug': true,

    // Указание пути до приложения
    'appPath': __dirname + '/app'
});

new YNode(app).listen(8090, function(){
    console.log('слушает порт 8090');
});

Внутренние системные псевдонимы

  • @y система каталог
  • @app проект каталог, указывается через appPath Y.app.getAppPath() вернет этот путь
  • @runtime кэш каталог, по умолчанию указывает на @app/runtime Y.app.getRuntimePath() вернет этот путь
  • @root корневой сайт каталог Y.app.getRootPath() вернет этот путь

Пример структуры проекта

|- index.js
|
|- node_modules каталог
|
|- public каталог
|
|- app проект каталог
|   |
|   |-- apis
|   |
|   |-- контроллеры обычные контроллеры каталог
|       |
|       |-- user пользователи каталог
|       |   |
|       |   |-- IndexController.js  - host:port/user/index доступен этому классу
|       |   |-- OtherController.js  - host:port/user/other доступен этому классу
|       |
|       |-- товары товары каталог
|       |   |
|       |   |-- IndexController.js  - host:port/goods/index доступен этому классу
|       |   |-- OtherController.js  - host:port/goods/other доступен этому классу
|       |
|   -- views шаблоны обычные контроллеры каталог
|       |
|       |-- user пользователи шаблоны каталог соответствуют вышеуказанному каталогу пользователей
|       |   |
|       |   |-- index.html
|       |   |-- other.html
|       |
|   -- goods товары шаблоны
|       |   |
|       |   |-- index.html
|       |   |-- other.html
|       |
|   -- модули модуль каталог
|       |
|       |-- reg
|       |   |
|       |   |-- контроллеры модуль контроллеры каталог, нет подкаталогов
|       |   |   |
|       |   |   |-- IndexController.js
|       |   |
|       |   |-- шаблоны модуль шаблоны каталог
|       |   |   |
|       |   |   |-- index.html
|       |   |
|       |   |-- другие каталоги
|       |
|   -- runtime кэш каталог
|

Обновление версий

  • 2020-07-14

    • Улучшение системы
  • 2020-05-10

    • Из-за дизайнерских недостатков npm пакет 4.3.0 был перестроен для управления аспектами контроллеров, когда beforeAction() возвращает значение отличное от true, выполнение программы будет заблокировано
    • beforeActionCall() переименовано в beforeAction()
    • afterActionCall() переименовано в afterAction()
  • 2020-04-22

    • npm пакет 4.2.0 был перестроен для управления шаблонной системой
    • Метод getTemplate(view, callback) класса View переименован в getTemplateContent(view, callback)
    • Метод getTemplateFilePath(view) класса View переименован в findViewFile(view)
    • Удалён метод getTemplateFromPath() класса View
  • 2020-04-03

    • npm пакет 4.1.0 переименовал метод inject класса Component в injectBehaviors
    • Перестроена система REST маршрутов
  • 2019-12-23

    • npm пакет 4.0.0 убрал свойство YNode.Y
    • Перестроена система
  • 2019-02-25

    • npm пакет 3.2.2 улучшил системный код
  • 2018-09-27

    • npm пакет 3.2.0 улучшил систему логирования
  • 2018-08-22

    • npm пакет 3.1.4 убрал метод setQueryString() класса y/web/Request
  • 2018-08-02

    • npm пакет 3.1.2 в проекте конфигурация class была заменена на classPath
  • 2018-06-15

    • npm пакет 3.1.0 обновил классы web/Request и web/URL большинство методов класса web/URL были перемещены в класс web/Request
  • 2018-05-10

    • npm пакет 3.0.0 перестроил систему REST
  • 2018-03-21

    • npm пакет 2.4.0 исправил ошибку бага в режиме REST
  • 2018-03-15

    • npm пакет 2.3.2 имя метода StringHelper.indexOfN() было изменено на StringHelper.nIndexOf()
  • 2018-03-02

    • npm пакет 2.3.1 улучшил код, системные события стали статическими переменными
  • 2018-01-24

    • npm пакет 2.3.0 улучшил код, исправлены некоторые баги
  • 2018-01-12

    • npm пакет 2.2.9 добавлен метод each() класса util/LinkedQueue
  • 2018-01-11

    • npm пакет 2.2.8 добавлены методы iterator() и remove(data) класса util/LinkedQueue
  • 2017-08-20

    • Из-за недостаточно элегантного дизайна YNode убрал модуль session с npm пакета 2.2.6
  • 2017-06-20

    • npm пакет 2.2.3 добавлен кэширование
  • 2017-05-17

    • npm пакет 2.1.3 исправлены проблемы с конкурентными переменными
  • 2017-05-12

    • c npm пакета 2.1.1 начал использоваться session.get() вместо session.read(), session.getSync() вместо session.readSync(), session.set() вместо session.write(), session.setSync() вместо session.writeSync()
  • 2017-05-11

    • c npm пакета 2.1.0 начал использоваться this.getView().getTemplate(...) для получения шаблонов в контроллерах
  • 2017-05-08

    • npm пакет 2.0.0 выпущен, убраны регулярные маршруты MVC и исправлены некоторые проблемы с чтением шаблонов
  • 2017-05-03

    • 1.5.9 улучшен код сессии и статических ресурсов
  • 2017-05-02

    • 1.5.8 изменено TimeHelper.pad(str, length) to TimeHelper.stringLPad(str, pad, length)
  • 2017-05-01

    • 1.5.6 улучшен объединенный регулярный маршрут
  • 2017-04-11

    • 1.5.2 разделен обработчик статических ресурсов и перемещен в директорию midwares
  • 2017-04-07

    • 1.5.0 изменена структура кода, убраны классы, повешенные на YNode
  • 2017-04-07

    • 1.4.1 добавлен метод include в класс Y для удобства загрузки класса var Logger = Y.include('y/log/Logger');
  • 2017-04-06

    • 1.4.0 изменены параметры метода TimeHelper.format(formats[, timestamp])
  • 2017-03-31

    • улучшен код web части
  • 2017-03-23

    • добавлены системные инструменты
  • 2017-02-28

    • улучшен код
  • 2017-02-22

    • переименован класс util/LinkedList to LinkedQueue
  • 2017-02-20

    • изменено название класса web/Restful's className to Restful
  • 2017-02-18

    • изменено название метода core/Hook::takeHook() to core/Hook::getHook()
  • 2017-02-17

    • изменено название метода web/Request::getGetParam() to web/Request::getQueryString()
    • изменено название метода web/Request::getPostParam() to web/Request::getParameter()

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

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

Введение

Небольшой MVC и RESTful фреймворк на Node. Развернуть Свернуть
Отмена

Обновления

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

Участники

все

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

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