В основе Express.js и Handelbars. Статика приложения размещается в Surge CDN, а само приложение в облаке Heroku.
В первую очередь необходимо выбрать уникальное имя проекта,
и указать его в поле name
файла package.json
.
Далее устанавливаем зависимости:
npm run deps:all
Компилируем TypeScript в директорию dist
:
npm run build
Запускаем сервис локально в режиме разработки:
npm run dev
И открываем в браузере: http://localhost:8080/
При изменении CSS файлов и Handlebars шаблонов, необходимо перезапускать сервер. При изменении TypeScript файлов, сервер будет перезапущен автоматически.
Устанавливаем Heroku по инструкции, затем авторизуемся и создаём приложение:
npm run heroku-init
Компилируем TypeScript в директорию dist
:
npm run build
Размещаем статику в Surge CDN (в первый раз вводим почту и пароль):
npm run surge
Далее размещаем приложение:
npm run heroku
В дальнейшем всё это можно выполнить одной командой:
npm run deploy
Команда | Действие |
---|---|
clean | Удаление зависимостей и собранных файлов |
build | Сборка приложения |
build:ts | Компилиция TypeScript исходников |
build:hbs | Копирование шаблонов в dist/ |
lint | Запуск всех проверок |
lint:css | Проверка css файлов на codestyle |
lint:deps | Проверка зависимостей на уязвимости |
lint:es | Проверка TypeScript файлов на codestyle |
lint:ts | Проверка TypeScript файлов на валидность |
deps:all | Установка всех зависимостей |
deps:production | Установка зависимостей, ноебходимых только для работы приложения |
dev | Запуск приложения в режиме разработки |
docker:build | Локальная сборка Docker-образа |
docker:run | Локальный запуск контейнера с приложением |
heroku:login | Авторизация в Heroku |
heroku:push | Сборка и отправка образа в Heroku |
heroku:release | Запуск контейнера с приложением в Heroku |
heroku:open | Открытие браузера с приложение в Heroku |
heroku:logs | Просмотр логов приложения в Heroku |
heroku | Деплой приложения в Heroku |
heroku-init | Создание приложения в Heroku |
start | Старт приложения |
surge | Деплой статики в Surge |
deploy | Сборка приложения, деплой приложения в Heroku и деплой статики в Surge |