KateJS - Приложение

Требования

  • Git
  • Node.JS
  • MySQL

Шаблон приложения

Разработка начинается с шаблона приложения, доступного в репозитории katejs-boilerplate.

Для разворачивания шаблона в текущую папку:

git clone https://github.com/romannep/katejs-boilerplate.git .
npm install

Поправьте в файле package.json как минимум поля name, author.

Для работы с git с удаленным репозиторием вашего приложения

git remote remove origin
git remote add origin <your repository url>

Структура файлов

Приложение в общем случае состоит из конфигурационных файлов env.json и env.local.json и следующего набора файлов, располагаемых в подпапке src/:

  • platform.js - файл для быстрого запуска всего приложения.
  • server.js - файл запуска серверного приложения
  • index.js - точка входа клиенского приложнения.
  • structure.js - структура - общий список сущностей со списком полей.
  • AppClient.js - клиентское приложение.
  • AppServer.js - серверное приложение.

Файлы platform.js, index.js и server.js являются служебными и не требуют изменений.

В процессе разработки логично разделять код для клиента и сервера. Клиентский код, который будет преимущественно набором форм, логично размещать в папке src/forms. Серверный код, который будет преимущественно набором сущностей, логично размещать в папке src/entities.

Разделение окружений

В шаблоне предусмотрено разделение окружений - для разработки и для публикации. Разделение реализовано через env файлы:

  • env.local.json - для разработки
  • env.json - для публикации

Скрипты запуска определяют необходимый env файл исходя из переменной окружения ENV:

  • без указания значения используется env.json
  • при указании значения используется env.VALUE.json (при запуске dev используется env.local.json)

Быстрый запуск

Отредактируйте параметры соединения с СУБД в env.local.json.

npm run dev-dbsync
npm run dev

Режим быстрого запуска запускает сервер и компиляцию клиентской части приложения. После отображения

...client compiling done!

Можно открыть браузер по адресу http://localhost:2002

Режим быстрого запуска компилирует клиентское приложение и перезапускает сервер при любых изменениях в файлах проекта.

Разработка

При изменении структуры данных требуется провести синхронизация структуры СУБД

npm run dev-dbsync

Для разработки в раздельном режиме запускаются одновременно два сервера - серверное приложение и сервер для клиентского приложения.

Оба сервера могут быть перезапущены отдельно друг от друга, в зависимости от потребности.

Запуск сервера

npm run dev-server

Серверное приложение перезапускается при изменениях в файлах src/AppServer.js, в папке src/entities/ и при наборе в консоли команды rs.

Запуск клиента

npm run dev-client

Клиентское приложение перезапускается при изменениях в файлах, которые к нему относятся.

Важно: при раздельном запуске клиента под него запускается отдельный сервер, поэтому в env.local.json должен быть указан адрес api сервера вместе с доменом.