Eu preferiria não usar o ts-node e sempre executar a partir da pasta dist.
Para fazer isso, basta configurar o seu package.json com a configuração padrão:
....
"main": "dist/server.js",
"scripts": {
"build": "tsc",
"prestart": "npm run build",
"start": "node .",
"dev": "nodemon"
},
....
e adicione o arquivo de configuração nodemon.json :
{
"watch": ["src"],
"ext": "ts",
"ignore": ["src/**/*.spec.ts"],
"exec": "npm restart"
}
Aqui, eu uso "exec": "npm restart"
para que todo o arquivo ts seja compilado novamente no arquivo js e, em seguida, reinicie o servidor.
Para executar enquanto estiver no ambiente de desenvolvimento,
npm run dev
Usando esta configuração, sempre executarei a partir dos arquivos distribuídos e não haverá necessidade de ts-node.
index.ts
é uma instância expressa, como eu posso matá-lo e reiniciar