Быстрое и простое развертывание приложения Express Node.js на Heroku

С помощью Heroku вы можете развернуть свое приложение Express Node.js в продакшн всего за несколько шагов. В этом посте я покажу вам пошаговое руководство по развертыванию приложения Express Node.js на Heroku.

Для быстрого начала работы вы можете использовать мой шаблон репо simeg/express-heroku-example.

Что такое Heroku?

Heroku – это платформа как услуга (PaaS), и ее не следует путать с услугой как услуга (SaaS). Она предлагает хобби-план, на котором вы можете бесплатно размещать свои приложения, с некоторыми ограничениями.

Для всех своих хобби-проектов сайтов я использую Heroku. Я создал такие вещи, как sudoku-js и impossible-tic-tac-toe. Ссылки на приложения см. в разделе “О программе”.

Подготовка

Сначала установите Heroku CLI. Если вы работаете на macOS, выполните следующие действия.

$ brew tap heroku/brew && brew install heroku
Войти в полноэкранный режим Выйти из полноэкранного режима

В противном случае перейдите на сайт Heroku.

Развертывание приложения Node.js на Heroku

Теперь, когда у вас установлен CLI, мы можем начать писать код. Мы будем использовать минимальный пример с сервером HTTP Express.

Приложение Node.js

Загрузите приложение Node.js с помощью npm init. Затем добавьте Express в качестве зависимости с помощью npm i --save express.

Теперь давайте посмотрим на наш тонкий сервер Express в index.js.

Подробнее об Express вы можете прочитать здесь.

Этот HTTP-сервер прост. Он имеет одну конечную точку GET, которая возвращает 200 и текст Hello World!.

Теперь, когда у нас есть готовый сервер, нам нужно несколько дополнительных вещей, чтобы иметь возможность развернуть его на Heroku. Прежде всего, нам нужен Procfile.

Это файл, который Heroku считывает при запуске приложения. Как вы можете видеть, файл запускает npm start, поэтому нам нужно создать и его. Мы добавляем его в package.json.

Также обратите внимание на раздел engines. Это нужно для того, чтобы Heroku знал, какую среду выполнения использовать для запуска вашего приложения. Вы можете посмотреть, какие версии Node.js поддерживает Heroku, на этом сайте.

Развертывание на Heroku

Существует несколько способов развертывания на Heroku. Мы будем использовать git, что является самым простым способом.

Теперь, когда весь код написан, нам нужно зафиксировать его.

$ git add .
$ git commit -m "Initial commit"
Вход в полноэкранный режим Выйдите из полноэкранного режима

Затем нам нужно создать приложение на Heroku.

$ heroku create
Войти в полноэкранный режим Выйти из полноэкранного режима

Эта команда также добавляет git remote под названием heroku. На этом пульте мы развернем наше приложение. Давайте сделаем это сейчас!

$ git push heroku main
Войти в полноэкранный режим Выход из полноэкранного режима

На этом этапе Heroku попытается выяснить, какой пакет сборки использовать. По сути, какой тип приложения вы развертываете? Поскольку у нас есть файл package.json в корне, он знает, что это приложение Node.js.

Когда команда будет выполнена, она выведет URL. Давайте откроем его!

...
https://thawing-beyond-32509.herokuapp.com/ deployed to Heroku
...
Вход в полноэкранный режим Выход из полноэкранного режима

И мы видим Hello World! в браузере. Легко, как пирог!

Теперь вы можете проверить логи вашего приложения.

$ heroku logs --tail
Вход в полноэкранный режим Выход из полноэкранного режима

Заключение

Теперь вы знаете, как развернуть приложение Node.js на Heroku. Heroku предоставляет отличные инструменты для быстрого запуска приложения. Но это только начало! Express позволяет создавать сложные веб-приложения. А с помощью Heroku вы можете быстро развернуть их на производстве.

Ознакомьтесь с советами и рекомендациями Heroku в Best Practices for Node.js Development. Также полезна их страница о Node.js.


Свяжитесь со мной в Twitter, LinkedIn или на GitHub.

Первоначально опубликовано на prplcode.dev

Оцените статью
Procodings.ru
Добавить комментарий