electron 程序的生命周期
生命周期是一个 electron程序从启动到关闭的时间
electron 程序生命周期事件
- ready: app初始化完成(此时可以创建 browserWindow了)
- dom-ready: webContents 一个窗口中的文本加载完成
- did-finsh-load webContents 导航完成时触发
- window-all-closed 所有窗口都被关闭时触发(有默认行为,就是退出整个程序)
- before-quit: 关闭窗口之前触发
- will-quit 在窗口关闭并且应用退出时触发
- quit: 当所有窗口被关闭时触发
代码
javascript
const {app, BrowserWindow} = require('electron');
app.on('ready', ()=>{
console.log('11111111111 app ready');
const mainwindow = new BrowserWindow({
width: 800,
height: 600
});
mainwindow.on('close', (event)=>{
console.log('4444444444444 mainwindow close');
event.preventDefault();
});
mainwindow.webContents.on('dom-ready', ()=>{
console.log('222222222222 webContents dom-ready');
});
mainwindow.webContents.on('did-finish-load', ()=>{
console.log('3333333333 webContents did-finish-load');
});
mainwindow.loadFile('index.html');
});
app.on('quit', ()=>{
console.log('88888888888888 app quit');
});
app.on('window-all-closed', ()=>{
console.log('5555555555555555 app window-all-closed');
app.quit();
});
app.on('before-quit', ()=>{
console.log('6666666666666666 app before-quit');
});
app.on('will-quit', ()=>{
console.log('7777777777777 app will-quit');
});
输出结果
11111111111 app ready
222222222222 webContents dom-ready
3333333333 webContents did-finish-load
4444444444444 mainwindow close
5555555555555555 app window-all-closed
6666666666666666 app before-quit
7777777777777 app will-quit
88888888888888 app quit
总结
目前来说就 app 的 ready 事件很重要。它用于在此事件里面创建 BrowserWindow