В моем package.json у меня есть start-script, который я использую для своей среды разработки. Это выглядит так:
"scripts": {
"dev": "NODE_PATH=src nodemon --watch src/ --exec babel-node src/app.js"
}
Когда я нажимаю npm run dev
, все работает нормально, и babel транспилирует все как надо, и nodemon начинает наблюдать. Я вижу это:
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: /Users/Jonathan/Documents/swissnet/src/**/*
[nodemon] starting `babel-node src/app.js`
Когда я сохраняю файлы в папке src/-, nodemon перезапустит сервер. Но вот моя проблема, он перезапускается 2-3 раза... Каждый раз, когда я сохраняю файл, он выглядит так:
[nodemon] restarting due to changes...
[nodemon] starting `babel-node src/app.js`
[nodemon] restarting due to changes...
[nodemon] starting `babel-node src/app.js`
[nodemon] restarting due to changes...
[nodemon] starting `babel-node src/app.js`
Если я ввожу «rs», то nodemon перезапускается один раз, как и ожидалось.
Я понятия не имею, как это решить, или даже где искать ответы. Я пытался найти его в Google. Я просматривал раздел ошибок пакета на github... (Может быть, я просто не умею гуглить).
Вот единственная ссылка, которую я нашел по той же проблеме, но, похоже, у нее нет ответ: Nodemon запускается несколько раз при сохранении при использовании babel.
Я все равно пробовал его сценарий NODE_PATH=src nodemon src --exec babel -w src/ --out-dir build/ --source-maps
, но происходило то же самое, перезапуск два или три раза.
Как сказал @Connorelsea в разделе комментариев ответа, приведенного в ссылке выше, если я добавлю --delay 2.5
, он перезапустится только один раз.
Я думаю, может быть, когда я нажму «Сохранить» в просматриваемом файле, nodemon мгновенно перезапустится, и Babel начнет транспилировать. Когда babel завершает работу, он сохраняет кучу транспилированных файлов, и nodemon снова перезапускается, так как были внесены изменения в папку src/. Но я понятия не имею, как это отладить.
Надеюсь, вы, ребята, можете мне помочь!
**** РЕДАКТИРОВАТЬ ****
Только что нашел этот https://github.com/remy/nodemon/issues/508, но единственное решение, которое у них есть, это «обновить nodemon». У меня есть последняя версия 1.11.0 на данный момент.