Nest.js, прогрессивная платформа Node.js, приобрела огромную популярность для создания надежных и масштабируемых серверных приложений. В этом сообщении блога мы покажем вам процесс создания проекта Nest.js с нуля, а затем его развертывания на Heroku, облачной платформе, которая упрощает хостинг приложений.
Предварительные условия
Прежде чем мы углубимся в процесс разработки и развертывания, убедитесь, что у вас есть следующие предварительные условия:
- Node.js и npm: убедитесь, что на вашем компьютере установлен Node.js. Вы можете скачать его с nodejs.org.
- Учетная запись Heroku: Если у вас нет учетной записи Heroku, зарегистрируйте ее на сайте Heroku.
- 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 или Портфолио по всем вопросам, связанным с технологиями.
Приятного обучения 💻.
Спасибо за чтение!.
Дайте мне знать, если у вас есть отзывы или комментарии или если у вас возникнут какие-либо проблемы.