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