
Esto parece ser un error en npm o en la Terminal de Windows, o tal vez haya una configuración que no conozco. Tengo una aplicación de nodo simple donde instalé Express y tiene un únicoindex.jsarchivo con este código:
import express from 'express';
const port = process.argv[2]
const app = express();
app.get('/', (req, res) => res.send(`Hello from port ${port}`))
app.listen(port, () => console.log('Server is running at http://localhost:' + port));
También tengo esto en mipaquete.json:
"scripts": {
"start": "node index.js"
}
Luego abro la Terminal de Windows en el directorio de mi proyecto y lo hago npm start 3000
, luego visito http://localhost:3000 y luego cierro la terminal. Cuando actualizo la página, puedo ver que el servidor todavía se está ejecutando y no hay otra forma de detenerlo que no sea volver a iniciar sesión como usuario.
El problema se resuelve ejecutando el comando en Power Shell o CMD, o ejecutándolo directamente node index.js
en la Terminal de Windows. Entonces, de alguna manera, la combinación de Windows Terminal y npm parece estar causando el problema.
¿Alguien sabe una manera de evitar esto y asegurarse de que el proceso se detenga cuando cierro la Terminal de Windows?