Создание сервера

Как установить?

npm i --save vqua-server

Пример

const app = createServer({ routes: [], layout: (html, data) => '', publicPath: './dist', containerPath: './build/containers', }) app.listen(8080)

Описание

Функция createServer возвращает экземпляр обычного нодовского http сервера.

Когда запрос поступает на сервер, строка пути разбирается и по ней находится первый подходящий vqua маршрут. После чего управление передается функции action, указанной в маршруте.

Метод action принимает два аргумента request, response . За одним исключением что к response добавляются два колбека это send и redirect, которые будут отрабатывать как на сервере так и в браузере. Конечно для браузера необходимо использовать пакет vqua-browser.

Чтобы посмотреть на то как все работает сразу и вместе, воспользуйтесь готовым каркасом

Аргументы для createServer(object)

Все аргументы обязательны.

routes - массив роутов (vqua-routes)

layout - функция callback(html, data)
html - компонент контроллера, преобразованный в html строку
data - отданные контроллером данные, преобразованные в JSON строку

Пример layout:

const layout = (html = '', data = '') => { return ( '<html>' + '<head>' + '<meta charset="utf-8">' + '<link rel="stylesheet" type="text/css" href="/index.css">' + '</head>' + '<body>' + '<div id="app">' + html + '</div>' + '<script id="app-cache" type="application/json">' + data + '</script>' + '<script src="/index.js" type="text/javascript"></script>' + '</body>' + '</html>' ) }

publicPath - строка пути к папке где хранятся статические файлы

containerPath - строка пути к папке где хранятся контейнеры (vqua компоненты верхнего уровня)

Фунцкия action(request, response)

request- помимо стандатных параметров http request содержит:

response- помимо стандатных параметров http response содержит: