
這似乎是 npm 或 Windows 終端機中的一個錯誤,或者可能有一個我不知道的設定。我有一個簡單的節點應用程序,我在其中安裝了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 終端機並執行npm start 3000
,然後造訪 http://localhost:3000 ,然後關閉終端機。當我刷新頁面時,我可以看到伺服器仍在運行,除了重新登入使用者之外沒有其他方法可以停止它。
透過在 Power Shell 或 CMD 上執行該命令,或直接node index.js
在 Windows 終端機上執行該命令可以解決該問題。因此,不知何故,Windows Terminal 和 npm 的組合似乎導致了這個問題。
有誰知道如何避免這種情況並確保當我關閉 Windows 終端時進程停止?