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

Предварительные условия

Прежде чем мы углубимся в процесс разработки и развертывания, убедитесь, что у вас есть следующие предварительные условия:

  1. Node.js и npm: убедитесь, что на вашем компьютере установлен Node.js. Вы можете скачать его с nodejs.org.
  2. Учетная запись Heroku: Если у вас нет учетной записи Heroku, зарегистрируйте ее на сайте Heroku.
  3. CLI Heroku. Установите интерфейс командной строки Heroku (CLI) на свой локальный компьютер. Скачать и установить его можно здесь.

Шаг 1. Создайте новый проект Nest.js

Чтобы создать новый проект Nest.js, откройте терминал и выполните следующие команды:

npm install -g @nestjs/cli
nestjs new your-nest-app
cd your-nest-app

При этом CLI Nest.js будет установлен глобально и будет создан новый проект Nest.js с именем your-nest-app. В моем случае я назвал свой проект nestdeploy.

Шаг 2. Разработка приложения Nest.js

Теперь, когда ваш проект настроен, вы можете приступить к разработке приложения Nest.js. Создавайте контроллеры, сервисы и модули в соответствии с требованиями вашего проекта. Не стесняйтесь обращаться к официальной документации Nest.js за рекомендациями по структуре проекта и передовым практикам.

В этом блоге я по умолчанию использовал проект гнезда и развернул его на Heroku.

Шаг 3. Протестируйте локально

Перед развертыванием в Heroku убедитесь, что ваше приложение Nest.js работает правильно локально. Вы можете запустить сервер разработки, используя:

npm run start:dev

Откройте свое приложение в веб-браузере по адресу http://localhost:3000 и убедитесь, что все работает должным образом.

Шаг 4. Создайте Procfile

Как упоминалось ранее, Procfile необходим для указания того, как Heroku должен запускать ваше приложение. В корневом каталоге вашего проекта Nest.js создайте файл с именем Procfile (без расширения файла) и добавьте в него следующую строку:

web: npm run start:prod

Предполагается, что ваш стартовый сценарий в package.json правильно настроен для запуска приложения Nest.js.

Не забудьте проверить прослушивание вашего приложения до process.env.PORT || 3000 . Process.env.PORT используется здесь потому, что во время развертывания мы не знаем, на каком порту наше приложение запускается Heroku.

Шаг 5. Инициализируйте репозиторий Git

Если вашего проекта еще нет в репозитории Git, инициализируйте его и зафиксируйте свой код:

git init
git add .
git commit -m "Initial commit"

Войти в Heroku: откройте терминал или командную строку и выполните следующую команду, чтобы войти в свою учетную запись Heroku:

heroku login

Откроется веб-страница, на которой вы сможете войти, используя свои учетные данные Heroku.

Перейдите в панель управления и создайте новое приложение.

Инициализируйте приложение создания (uchhal-test-2) в нашем локальном репозитории или существующем репозитории.

heroku git:remote -a app-name

Измените имя приложения на имя создания приложения.

Шаг 6. Разверните свой код в Heroku

Разверните приложение Nest.js в Heroku, отправив свой код в удаленный репозиторий Heroku:

git push heroku master

Шаг 7: Откройте свое приложение

После успешного развертывания вы можете открыть приложение Nest.js в веб-браузере, используя:

heroku open

Заключение

Поздравляем! Вы успешно развернули свой проект Nest.js на Heroku. Теперь он доступен пользователям по всему миру, и вы можете продолжать масштабировать его и управлять им в соответствии со своими потребностями. Обязательно тщательно протестируйте свое приложение в производственной среде.

Теперь, когда ваше приложение запущено, вы на шаг ближе к тому, чтобы поделиться своими творениями со всем миром.

Меня зовут Ришаб Гауд, я работаю разработчиком программного обеспечения и мне очень нравится создавать распределенные системы. Не стесняйтесь обращаться ко мне в Linkedin или Портфолио по всем вопросам, связанным с технологиями.

Приятного обучения 💻.

Спасибо за чтение!.

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