Javascript 关闭Electron应用程序不会停止脚本
我有点问题,希望有人能帮我解决 我有一个Electron+React桌面应用程序,我需要正确处理它的关闭。 当我关闭应用程序(单击窗口上的X)时,程序停止,但是,我用来运行程序的终端窗口没有停止 我使用此脚本运行程序:Javascript 关闭Electron应用程序不会停止脚本,javascript,node.js,reactjs,npm,electron,Javascript,Node.js,Reactjs,Npm,Electron,我有点问题,希望有人能帮我解决 我有一个Electron+React桌面应用程序,我需要正确处理它的关闭。 当我关闭应用程序(单击窗口上的X)时,程序停止,但是,我用来运行程序的终端窗口没有停止 我使用此脚本运行程序: npm run electron-dev 这就是: "scripts": { "start": "react-scripts start", "electron-dev": "concurrently \"npm run start\" \"wait-on http
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
但是我不能在我的终端上打字,除非我用一个控件+C终止程序
以下是我如何处理应用程序关闭:
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
app.on('before-quit', () => {
mainWindow.removeAllListeners('close');
mainWindow.close();
});
有人能帮我吗?这是因为您同时使用
,
,这是预期的行为
当您关闭窗口(并退出macOS上的程序)时,electron进程确实停止,但是您在终端中发出的命令仍在运行,因为您仍在运行react scripts
看看你的electron-dev
脚本,你说你想运行命令npm-start
和等待http://localhost:3000 &&电子。\
。当您关闭electron应用程序时,它会告诉您该过程已结束(等待)http://localhost:3000 &&电子。已退出,代码为0
)。但是,您只结束了创建的2个进程中的1个。创建的进程npm start
仍在运行,因此终端控制不会返回给您
npm start
执行命令react scripts start
,该命令设置开发环境并启动服务器。你有,CTRL+C是其中最简单的
打包应用程序时,不会出现此问题,当用户关闭窗口(或退出macOS上的程序)时,应用程序将完全关闭。这是因为您同时使用
,这是预期行为
当您关闭窗口(并退出macOS上的程序)时,electron进程确实停止,但是您在终端中发出的命令仍在运行,因为您仍在运行react scripts
看看你的electron-dev
脚本,你说你想运行命令npm-start
和等待http://localhost:3000 &&电子。\
。当您关闭electron应用程序时,它会告诉您该过程已结束(等待)http://localhost:3000 &&电子。已退出,代码为0
)。但是,您只结束了创建的2个进程中的1个。创建的进程npm start
仍在运行,因此终端控制不会返回给您
npm start
执行命令react scripts start
,该命令设置开发环境并启动服务器。你有,CTRL+C是其中最简单的
当您打包应用程序时,您不会遇到此问题,当用户关闭窗口(或退出macOS上的程序)时,应用程序将完全关闭。您在哪个平台上?我在多个平台上遇到过此问题,特别是Windows和Linux您在哪个平台上?我在多个平台上遇到过此问题,特别是Windows和Linux非常感谢,但是有没有什么方法可以让我在应用程序内部关闭这个过程,而不打包它呢?也许吧,但这真的很麻烦。你为什么要这么做?您可以使用CTRL+C在终端中同时终止两个进程。非常感谢,但是有没有任何方法可以从应用程序内部关闭进程,而无需打包?也许可以,但这会非常麻烦。你为什么要这么做?您只需使用CTRL+C来终止终端中的两个进程。