Может ли добавление в nodemon config для событий сценарий может решить вашу проблему?
Например, через пакет. json:
{
"nodemonConfig": {
"events": {
"crash": "docker stop mongo"
}
}
}
Обновление:
TLDR: здесь не работают события nodemon, отключение restartable
позволяет добиться ожидаемого поведения.
При добавлении в конфигурацию restartable: false
, например:
"scripts": {
"prestart": "echo \"npm:prestart\"",
"start": "nodemon server.js",
"poststart": "echo \"npm:poststart\""
},
"nodemonConfig": {
"restartable": false,
"events": {
"start": "echo \"Start event\"",
"crash": "echo \"Crash event\"",
"exit": "echo \"Exit event\""
}
},
И начните с npm start -- -V
и дважды нажмите Ctrl+c
Я получил следующее:
> nodemon_events@1.0.0 prestart /home/kyr/test/nodemon_events
> echo "npm:prestart"
npm:prestart
> nodemon_events@1.0.0 start /home/kyr/test/nodemon_events
> nodemon server.js "-V"
[nodemon] 2.0.3
[nodemon] reading config ./package.json
[nodemon] send SIGHUP to 8929 to restart
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] bind start -> `echo "Start event"`
[nodemon] bind crash -> `echo "Crash event"`
[nodemon] bind exit -> `echo "Exit event"`
[nodemon] starting `node server.js`
[nodemon] forking
[nodemon] child pid: 8942
Start event
[nodemon] watching 2 files
server:run
[nodemon] exiting
> nodemon_events@1.0.0 poststart /home/kyr/test/nodemon_events
> echo "npm:poststart"
npm:poststart
Это выглядит странно, но может решить вашу проблему .