3 回答

TA貢獻(xiàn)1807條經(jīng)驗 獲得超9個贊
這是因為您正在使用 ,這是預(yù)期的行為。concurrently
當(dāng)您關(guān)閉窗口(并在macOS上退出程序)時,電子過程確實會停止,但是您在終端中發(fā)出的命令仍在運(yùn)行,因為您仍在運(yùn)行 。react-scripts
查看腳本,您說要運(yùn)行命令和 .當(dāng)您關(guān)閉電子應(yīng)用程序時,它會告訴您該過程已結(jié)束()。但是,您只結(jié)束了您創(chuàng)建的 2 個進(jìn)程中的 1 個。創(chuàng)建的進(jìn)程仍在運(yùn)行,因此終端控制權(quán)不會返回給您。electron-dev
npm start
wait-on http://localhost:3000 && electron .\
wait-on http://localhost:3000 && electron . exited with code 0
npm start
npm start
執(zhí)行命令 ,該命令設(shè)置開發(fā)環(huán)境并啟動服務(wù)器。您有幾個選項可以殺死該過程,CTRL + C是其中最簡單的。react-scripts start
打包應(yīng)用程序時,您不會遇到此問題,當(dāng)用戶關(guān)閉窗口(或在macOS上退出程序)時,應(yīng)用程序?qū)⑼耆P(guān)閉

TA貢獻(xiàn)1995條經(jīng)驗 獲得超2個贊

TA貢獻(xiàn)1875條經(jīng)驗 獲得超5個贊
解決此問題的最優(yōu)雅方法是在腳本中使用 / 選項。--kill-others-kconcurrently
在我的包文件中,在腳本下:
"dev": "concurrently \"npm run client\" \"wait-on tcp:3000 && electron .\" -k",
在相關(guān)進(jìn)程的任何類型的退出中,其他進(jìn)程也將停止。這可以由 進(jìn)一步控制,如其文檔中所述:--kill-others-on-fail
https://www.npmjs.com/package/concurrently
Killing other processes
-k, --kill-others kill other processes if one exits or dies [boolean]
--kill-others-on-fail kill other processes if one exits with non zero
status code [boolean]
添加回答
舉報