# Перезагружаем node с помощью nodemon

05:33
poster
в этом видео мы разберем, как сделать так, чтобы сервер в node перегружался автоматически с nodemon.
Понравилось? Поделитесь с друзьями!
Понравилось?
Поделитесь с друзьями!
Комментарии
Текст видео

Абсолютно у всех разработчиков знакомство с nodejs начинается с того, что после каждого изменения нужно перезагружать сервер. Поэтому, в этом видео мы разберем, как сделать так, чтобы сервер перегружался автоматически.

Самый популярный вариант - это nodemon. То есть идея состоит в том, что в development окружении мы хотим, чтобы nodemon следил за файлами, которые мы меняем и просто перезапускал сервер, если эти файлы относятся к серверу.

У меня сейчас есть пустой проект с index.js, куда я установил nodemon.

В документации nodemon первой строчкой идет, что вы можете установить его глобально. Пожалуйста, не ставьте никогда пакеты глобально. Все нужные пакеты должны быть внутри, а не снаружи. Ни один разработчик не хочет склонировать проект, а потом сидеть и разбираться, а какие же внешние зависимости и каких версий ему требуются.

Поэтому устанавливаем nodemon внутри проекта

yard add nodemon

Теперь давайте в package json добавим команду для него.

"scripts": {
  "dev": "nodemon"
}

Теперь в консоли давайте запустим его командой

yarn run nodemon

Как мы видим он запустился. Нам вывелось, что он вотчит все файлы в нашей папке и запускает команду node index.js при изменении любого файла.

Теперь, если мы изменим наш index.js, то nodemon перезапустит сервер.

console.log('nodemon?')

Но часто нам нужно указать для nodemon конфиг. И удобнее всего это сделать с помощью его конфиг файла. Для этого нужно создать nodemon.json в корне проекта.

Из часто используемых опций - это verbose: true, чтобы получать расширеный вывод. Например, какие директории игнорирует nodemon и какие файлы он вотчит.

Также мы можем задать папку, которую надо вотчить. Обычно, если у вас рендерится клиентсайд и серверсайд, логично сделать под них 2 папки. Тогда мы можем указать nodemon, что он должен следить за изменениями только в папке server. Для этого нам нужно в watch указать папку.

И, конечно, любой проект не обходится без переменных окружения. В конфиге nodemon можно также их указать. Давайте, например, попробуем указать PRIVATE_KEY и вывести его в index.js.

Если у вас возникли какие-то вопросы или комментарии, пишите их прямо под этим видео.

Только зарегистрированные пользователи могут оставлять комментарии.  Войдите, пожалуйста.
evgeniy
1год назад назад
Увидел недавно проект https://github.com/fastify/fastify, benchmarks-ки конечно впечатляют, но хотелось бы обзорчик от опытных людей))
monsterlessons
1год назад назад
Ну такое, имхо. Вопрос же не в бенчмарках обычно, а в экосистеме. Я предпочитаю использовать express, потому что вокруг него самая большая экосистема библиотек и он самый стабильный. Как вы можете видеть, все переходят с монолитов на микросервисы, например. Это говорит о том, что скорость ответа не так важна, как быстрота и удобство разработки и поддержки. Тоже самое и здесь. Бенчмарки обычно не решают ничего, а только популяризируют продукт.
Nova Vovikov
1год назад назад
Использую nodemon давно, но никогда не смотрел в документацию и не задумывался о том, что есть конфиг у него. Теперь его могу гибче настроить. Спасибо)
monsterlessons
1год назад назад
На здоровье)