
Похоже, это ошибка либо в npm, либо в Windows Terminal, или, возможно, есть настройка, о которой я не знаю. У меня есть простое приложение node, в котором я установил Express, и у него есть одининдекс.jsфайл с этим кодом:
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));
У меня тоже есть это в моемпакет.json:
"scripts": {
"start": "node index.js"
}
Затем я открываю Windows Terminal в каталоге моего проекта и делаю npm start 3000
, затем захожу на http://localhost:3000 и затем закрываю терминал. Когда я обновляю страницу, я вижу, что сервер все еще работает, и нет способа остановить его, кроме как повторно войти в систему пользователя.
Проблема решается либо запуском команды в Power Shell или CMD, либо прямым запуском node index.js
в Windows Terminal. Так что, похоже, проблема в сочетании Windows Terminal и npm.
Кто-нибудь знает, как этого избежать и убедиться, что процесс останавливается при закрытии Windows Terminal?