他们在Electron文档page中建议重新启动应用程序,应在调用app.quit
之后执行app.exit
或app.relaunch
:
但是,经过实验后,我发现顺序似乎并不重要。 (请参见下面的示例。)
我知道app.quit
和app.exit
不太一样。前者可以被中断并触发一些事件,而后者将强制应用程序退出而不触发任何事件或允许应用程序取消操作。
问题:假设强制退出应用程序总是可以的,并且在退出应用程序之前我们没有任何任务可以执行,是否存在:
app.quit
或app.exit
的原因吗? app.quit
之后运行app.exit
或app.relaunch
? 这是一个非常简单的 Electron 应用程序:
package.json
{
"name": "burrito",
"version": "1.0.0",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"devDependencies": {
"electron": "^4"
}
}
main.js
const {app, BrowserWindow, Menu} = require('electron');
let mainWindow;
app.on('ready', () => {
Menu.setApplicationMenu(
Menu.buildFromTemplate([
{role: 'appMenu', submenu: [
{label: 'relaunch(); exit()', click() {
app.relaunch();
app.exit();
}},
{label: 'relaunch(); quit()', click() {
app.relaunch();
app.quit();
}},
{type: 'separator'},
{label: 'exit(); relaunch()', click() {
app.exit();
app.relaunch();
}},
{label: 'quit(); relaunch()', click() {
app.quit();
app.relaunch();
}}
]}
])
);
mainWindow = new BrowserWindow({width: 640, height: 480});
mainWindow.loadFile('index.html');
});
产生以下应用程序菜单:
单击任何菜单项都会产生相同的结果:应用程序退出然后重新启动。
最佳答案
重新启动 Electron 应用程序的正确方法是:
app.relaunch()
app.exit()
参见official documentation。
关于javascript - 重新启动Electron应用程序的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55982480/