亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關閉 Electron 應用程序不會停止腳本

關閉 Electron 應用程序不會停止腳本

LEATH 2022-08-27 14:40:31
我有一點問題,我希望有人可以幫助我。我有一個Electron + React桌面應用程序,我需要正確處理它的關閉。當我關閉應用程序(單擊窗口上的X)時,程序停止,但是,我用于運行程序的終端窗口不會停止。我用這個腳本來運行程序:npm run electron-dev這確實:"scripts": {   "start": "react-scripts start",   "electron-dev": "concurrently \"npm run start\" \"wait-on http://localhost:3000 && electron .\"" }我正常運行我的應用程序,當我關閉窗口時,我的終端會:wait-on http://localhost:3000 && electron . exited with code 0但是我不能在我的終端上打字,除非我用Control + C殺死程序。以下是我處理應用程序關閉的方式:app.on('window-all-closed', () => {  if (process.platform !== 'darwin') {     app.quit();   }});app.on('before-quit', () => {    mainWindow.removeAllListeners('close');    mainWindow.close();});有人可以幫我嗎?
查看完整描述

3 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

這是因為您正在使用 ,這是預期的行為。concurrently

當您關閉窗口(并在macOS上退出程序)時,電子過程確實會停止,但是您在終端中發出的命令仍在運行,因為您仍在運行 。react-scripts

查看腳本,您說要運行命令和 .當您關閉電子應用程序時,它會告訴您該過程已結束()。但是,您只結束了您創建的 2 個進程中的 1 個。創建的進程仍在運行,因此終端控制權不會返回給您。electron-devnpm startwait-on http://localhost:3000 && electron .\wait-on http://localhost:3000 && electron . exited with code 0npm start

npm start執行命令 ,該命令設置開發環境并啟動服務器。您有幾個選項可以殺死該過程,CTRL + C是其中最簡單的。react-scripts start

打包應用程序時,您不會遇到此問題,當用戶關閉窗口(或在macOS上退出程序)時,應用程序將完全關閉


查看完整回答
反對 回復 2022-08-27
?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

也許對于誰提出了這個問題來說為時已晚,但對于仍在尋找解決方案的其他人來說:

可以使用 npm-run-all。

以下是此軟件包的文檔。


查看完整回答
反對 回復 2022-08-27
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

解決此問題的最優雅方法是在腳本中使用 / 選項。--kill-others-kconcurrently


在我的包文件中,在腳本下:


"dev": "concurrently   \"npm run client\" \"wait-on tcp:3000 && electron .\" -k",


在相關進程的任何類型的退出中,其他進程也將停止。這可以由 進一步控制,如其文檔中所述:--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]


查看完整回答
反對 回復 2022-08-27
  • 3 回答
  • 0 關注
  • 605 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號