Команда «node –watch version» используется для отслеживания изменений в файле Node.js и автоматического перезапуска программы при обнаружении изменений. Это удобная функция во время разработки, поскольку она избавляет вас от необходимости вручную перезапускать сервер каждый раз, когда вы вносите изменения в код. Теперь давайте углубимся в различные методы, которые можно использовать для достижения того же результата.
Метод 1: использование Nodemon
Nodemon — это популярный инструмент, который автоматически перезапускает приложение Node.js при каждом изменении файла. Сначала вам необходимо установить Nodemon глобально, выполнив следующую команду:
npm install -g nodemon
После установки вы можете использовать следующую команду для просмотра файла:
nodemon file.js
Nodemon будет отслеживать изменения в файле и автоматически перезапускать его.
Метод 2: использование API файловой системы Node.js
Вы также можете создать собственный сценарий, используя API файловой системы Node.js, чтобы добиться того же результата. Вот пример фрагмента кода:
const fs = require('fs');
const { spawn } = require('child_process');
const filename = 'file.js';
fs.watch(filename, (eventType, _) => {
if (eventType === 'change') {
console.log('File changed. Restarting...');
const node = spawn('node', [filename], { stdio: 'inherit' });
node.on('close', () => {
console.log('Restarting complete.');
});
}
});
В этом коде мы используем функцию fs.watchдля отслеживания изменений в файле. Всякий раз, когда происходит изменение, мы запускаем новый процесс Node.js с помощью модуля child_processи перезапускаем файл.
Метод 3: использование PM2
PM2 — это менеджер производственных процессов для приложений Node.js. Он также предоставляет функцию просмотра файлов. Во-первых, вам необходимо установить PM2 глобально:
npm install -g pm2
После установки вы можете использовать следующую команду для просмотра файла:
pm2 start file.js --watch
PM2 будет отслеживать изменения в файле и автоматически перезапускать приложение.
Вот и все! Вот некоторые методы, которые вы можете использовать для автоматического перезапуска приложения Node.js при изменении файла. Не забудьте выбрать метод, который лучше всего подходит вашему рабочему процессу разработки.