import { app, BrowserWindow } from 'electron'; // 此模块用于 控制应用程序的事件生命周期&创建和管理应用程序窗口
const createWindow =()=> {
const mainWindow = new BrowserWindow({ // 创建一个(浏览器类型的)窗口
width: 800,
height: 600
})
mainWindow.loadFile('index.html') // 并为应用加载页面 index.html
// mainWindow.webContents.openDevTools() // 打开开发者工具
}
// 当 Electron 准备完成的时候将会被触发此钩子,这个阶段你可以创建浏览器 窗口,并且执行一些其它API
app.whenReady().then(() => {
createWindow()
app.on('activate', ()=> {
// 在mac上,如果点击dock 上此app的时候,此时app若没有窗口,则需要重新创建一个窗口(windows没有dock 不存在该场景)
if (BrowserWindow.getAllWindows().length === 0) createWindow()
})
})
// windows下关闭所有窗口时退出应用(macOS 应用通常即使在没有打开任何窗口的情况下也继续运行,并且在没有窗口可用的情况下激活应用时会打开新的窗口)
app.on('window-all-closed', ()=> {
if (process.platform !== 'darwin') app.quit()
})