В Node.js для применения любых внесенных изменений требуется перезапуск процесса. Если идет активная разработка, это добавляет к работе дополнительный шаг, который надо повторить неоднократно, периодически. Его можно убрать при помощи утилиты nodemon , предназначенной для перезапуска процессов в автоматическом режиме.
Принцип работы приложения заключается в размещении среды внутри своеобразной «оболочки» для мониторинга файловой системы и перезапуска процесса. В этой статье мы последовательно разберем, как провести установку nodemon на машине с Node.js , так и настройку утилиты, использование встроенных в нее опций и конфигураций.
Требования к системе
Понадобится локальная машина или виртуальная VPS/VDS на облачном сервере , подходящая по техническим характеристикам. Они включают минимум процессор с тактовой частотой 1 ГГц, ОЗУ от 512 Мбайт, свободное пространство на накопителе от 15 Мбайт. Также нужно произвести установку Node.js по инструкции из официальной документации , создать среду разработчика (а это уже тема для отдельной статьи).
Как автоматически запускать программы и выключать компьютер по расписанию в windows 7 8 10
Шаг 1. Инсталляция утилиты nodemon
Первым этапом всегда идет установки утилиты на рабочем или виртуальном компьютере. Есть два варианта – глобальная и локальная инсталляция. Выполнить процедуру можно через npm или yarn .
Установка в глобальном режиме
Выполним команду через npm :
npm install nodemon –g
yarn global add nodemon
Установка в локальном режиме
При локальной инсталляции допустимо задавать зависимость dev :
npm install nodemon —save-dev
При помощи yarn команда будет выглядеть так:
yarn add nodemon –dev
Процедура установки завершена, можно приступать к дальнейшей работе.
Шаг 2. Настройка проекта Node.js через nodemon
С практической стороны интересна возможность старта скриптов Node с nodemon . Возьмем пример: в наличии есть файл для задания параметров, сохраненный под именем serv.js . Введем команду и понаблюдаем за происходящими корректировками:
nodemon serv.js
При запуске допускается передавать аргументы в том же порядке, как будто скрипт запускается при помощи Node:
nodemon serv.js 3006
Процесс перезапустится после каждой корректировки файлов. Речь идет только об отслеживаемых расширениях (.js, .mjs, .json, .coffee, .litcofee) и текущей папке. В качестве примера возьмем все тот же файл serv.js и внесем в него команду на вывод сообщения:
Dolphin app listening on port $.
Теперь введем команду:
nodemon serv.js
На экран будет выведено сообщение:
[nodemon] 2.0.15
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node serv.js`
Dolphin app listening on port 3000!
Пока утилита функционирует, сделаем корректировки в файле serv.js . Например, чтобы скрипт вывел сообщение Shark app listening on port $ . Информация на экране обновится, мы увидим:
[nodemon] restarting due to changes.
[nodemon] starting `node server.js`
Script-костыль для перезапуска процесса
Shark app listening on port 3000!
Как и планировалось, идет вывод о произведенных изменениях. Рестарт процесса возможен по желанию пользователя – достаточно набрать команду rs и кликнуть Enter.
Шаг 3. Применение опций
Конфигурация утилиты nodemon управляется путем применения различных опций, вводимых в командной строке. Рассмотрим часть из них, которые встречаются чаще остальных:
- —exec – задает двоичный код, считываемый при выполнении файлов. Так, в случае указания ts-node утилита будет наблюдать за запуском TypeScript, происходящими в нем изменениями.
- —ext – опция указывает утилите nodemon , какие расширения будут подпадать под функцию наблюдения. Вносить перечень следует через запятую. Например, js, ts.
- —delay – устанавливает время до перезапуска процесса после фиксации изменений в файле. По умолчанию это значение равно одной секунде. Новое требуется указывать в цифровом виде, например 3.1.
- —watch – позволяет задать наблюдение за несколькими файлами или директориями. Опцию используют отдельно для каждого объекта. По умолчанию утилита мониторит текущую папку и вложенные в нее каталоги. При помощи watch можно как расширить сферу работы nodemon , так и сузить сектор наблюдения, отключив часть вложенных папок или файлов, расположенных в них.
- —ignore – аналогично предыдущей опции, предназначена для принудительного отключения наблюдения за указанными файлами, папками или шаблонами.
- —verbose – дает подробное информирование об измененных файлах, процедуре рестарта процесса.
Полный перечень опций доступен по команде:
nodemon —help
Приведем пример их комбинированного использования. Предположим, что необходимо включить мониторинг файлов с расширением .ts в каталоге server, при этом пропускать файлы с суффиксом .test.ts и ждать рестарта в течение 3-х секунд после фиксации факта сохранения изменений. А также при запуске применять двоичный код ts-node .
Команда будет выглядеть так:
nodemon —watch server —ext ts —exec ts-node —ignore ‘*.test.ts’ —delay 3 server/server.ts
Здесь одновременно используются опции —watch , —ext , —exec , —ignore и —delay .
Шаг 4. Применение конфигураций
Если думать о том, как упростить работу с Node.js , стоит настроить и параметры конфигурации. Например, задать перечень нужных опций в nodemon.json. Тогда появится возможность пакетного старта утилиты. Пример такого файла:
«watch»: [«server»],
«ext»: «ts»,
«ignore»: [«*.test.ts»],
«delay»: «3»,
«execMap»: «ts»: «ts-node»
>
>
Здесь execMap заменяет оператор exec . Он разрешает указывать двоичный код, подключаемый при обработке указанных расширений файлов.
Есть другой вариант добавления конфигурации – скорректировать файл package.json , данные будут расположены в ключе nodemonConfig :
«name»: «test-nodemon»,
«version»: «1.0.0»,
«description»: «»,
«nodemonConfig»: «watch»: [
«server»
],
«ext»: «ts»,
«ignore»: [
«*.test.ts»
],
«delay»: «3»,
«execMap»: «ts»: «ts-node»
>
>,
// .
После сохранения nodemon.json или package.json можно запускать утилиту при помощи скрипта:
nodemon server/server.ts
Приложение подхватит конфигурацию и начнет работать в соответствии с заданными параметрами. Такой подход позволяет быстро настраивать новые системы и передавать настройки другим, чтобы не тратить время на синхронизацию командных компьютеров.
Заключение
Быстрый автоматический перезапуск процесса или программы Windows, которая дает сбой
Еще никто не погиб в результате сбоя Windows, поэтому шутки Microsoft не утихают. Но вот небольшая программа, которая не заткнет рот фанатам Apple, но избавит от одного из наших домашних раздражителей (помимо самих фанатов Apple).
ReStartMe это крошечное приложение, которое автоматически перезапускает любые программы или процессы Windows, которые аварийно завершают работу. Есть некоторые программы, которые вы хотите запустить. Авария может вывести его из строя. Кроме того, вы можете закрыть его случайно. Таким образом, ReStartMe избавляет вас от необходимости снова запускать программу вручную.
Например, я всегда запускаю торрент-клиент. Если программа выйдет из строя, пока меня нет, ReStartMe сможет восстановить программу без моего ручного вмешательства.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
ReStartMe — это одноцелевой сервис
Идея ReStartMe очень проста. Настройка еще проще. ReStartMe (версия 2.0) — это загружаемый файл размером 456 КБ, который работает на всех 32-разрядных и 64-разрядных версиях Windows. После установки вы можете настроить его так, чтобы он запускался с Windows и запускался из системного трея.
Вам нужно вручную перейти к EXE-файлу программы, которую ReStartMe должен отслеживать, и добавить его в список. Более того, вы можете запустить программу и добавить ее из раскрывающегося списка, в котором показаны все запущенные процессы.
Что хорошо в программе, так это то, что она может следить за несколькими процессами за один раз. Таким образом, вы можете убедиться, что ваши важные программы, такие как менеджер загрузок, торрент-клиент, брандмауэр, приложения безопасности и программное обеспечение для родительского контроля, добавлены в ReStartMe, чтобы он выполнял свою сторожевую работу.
Инструмент также дает вам возможность запомнить все процессы, которые вы добавили в список. Если процессы еще не запущены, вы можете настроить их запуск с помощью ReStartMe. При желании вы можете дождаться их запуска вручную или вообще игнорировать их.
Если вы не выберете опцию запоминания добавленных программ, ReStartMe запустится с чистого листа при следующем запуске, и вам придется снова искать EXE-файл программ.
ReStartMe позволяет заблокировать программу, чтобы второй человек не мог изменить настройки без вашего разрешения.
ReStartMe похож на другую программу под названием Продолжать работать. Однако Keep Running работает только для одной программы. ReStartMe больше не разрабатывается активно, поэтому сбои, если таковые имеются, могут быть не исправлены. Даже в этом случае простота и однофункциональность программы должны помочь вам использовать ее без проблем.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Источник: tonv.ru
Как автоматически перезапускать приложения Node.js с помощью nodemon
В Node.js для вступления изменений в силу необходимо перезапустить процесс. Это добавляет в рабочий процесс дополнительный шаг, необходимый для внесения изменений. Вы можете устранить этот дополнительный шаг, используя nodemon для автоматического перезапуска процесса.
Из этой статьи вы узнаете об установке и настройке nodemon .
Предварительные требования
Если вы захотите следовать за этой статьей, вам потребуется следующее:
- Локальная установка Node.js, выполненная согласно указаниям учебного модуля Установка Node.js и создание локальной среды разработки.
Шаг 1 — Установка nodemon
Вначале вам нужно будет установить nodemon на вашем компьютере. Установите утилиту в проекте глобально или локально, используя npm или Yarn:
Глобальная установка
Вы можете установить nodemon глобально с помощью npm :
Или с помощью Yarn:
Локальная установка
Также вы можете установить nodemon локально с помощью npm. При локальной установке мы можем установить nodemon как зависимость dev с помощью —save-dev (или —dev ):
Или с помощью Yarn:
При локальной установке нужно знать, сможете ли вы использовать команду nodemon напрямую из командной строки:
Однако вы также можете использовать его как часть некоторых скриптов npm или с npx.
На этом процесс установки nodemon завершен. Далее мы будем использовать nodemon с нашими проектами.