1.will-finish-launching
當應用程序完成基礎的啟動的時候被觸發,在 Windows 和 Linux 中,?will-finish-launching
?事件與?ready
?事件是相同的; 在 macOS 中,這個事件相當于?NSApplication
?中的?applicationWillFinishLaunching
?提示。
app.on('will-finish-launching', () => {console.log('順序1', '--will-finish-launching--');
})
2.ready
當 Electron 應用程序完成基礎的初始化工作后,會觸發?ready
?事件,表示應用已經可以開始創建窗口和加載頁面。
// app啟動后創建窗口(初始化完成)
app.on('ready', () => {console.log('2', '--ready--');
})// 等同于以下兩種寫法
// app.isReady().then(() => {
app.whenReady().then(() => {console.log('22', '--whenReady/isReady--');
})
3.?window-all-closed
當所有的窗口都被關閉時觸發,如果沒有監聽此事件并且所有窗口都關閉了,默認的行為是控制退出程序;但如果監聽了此事件,可以控制是否退出程序。
app.on('window-all-closed', () => {console.log('3', '--window-all-closed--');
})
在Windows 系統中,如果應用程序因系統關機/重啟或用戶注銷而關閉,那么以下4、5、6事件不會被觸發?
4.before-quit
在程序關閉窗口前觸發,但在 Windows 系統中,如果應用程序因系統關機/重啟或用戶注銷而關閉,那么這個事件不會被觸發。
app.on('before-quit', () => {console.log('4', '--before-quit--');
})
5.?will-quit
當所有窗口被關閉后觸發,同時應用程序將退出。
app.on('will-quit', () => {console.log('5', '--will-quit--');
})
?6.quit
在應用程序退出時觸發。
app.on('quit', () => {console.log('6', '--quit--');
})
npm run build 啟動項目,可以看到執行順序如下: