1const { app, BrowserWindow } = require("electron")
2
3// 创建一个新的浏览器窗口
4const createWindow = () => {
5 // 创建了一个新的 BrowserWindow 实例,并设置了窗口的宽度和高度。
6 const win = new BrowserWindow({
7 width: 800,
8 height: 600,
9 })
10
11 // 加载指定的文件到新创建的窗口中,这个文件通常是应用的主页面。
12 win.loadFile("index.html")
13}
14
15// 当主进程准备就绪时创建窗口
16app.on("ready", () => {
17 createWindow()
18
19 // 当应用的窗口被激活时,会触发 activate 事件。
20 app.on("activate", () => {
21 // 如果没有其他窗口打开,则重新创建一个窗口。
22 if (BrowserWindow.getAllWindows().length === 0) createWindow()
23 })
24})
25
26// 当所有窗口都被关闭时
27app.on("window-all-closed", () => {
28 // 如果当前运行的平台不是 macOS,则调用 app.quit() 方法来退出应用。
29 // 在 macOS 平台上,即使所有窗口都被关闭,应用也不会退出,而是保持在后台运行
30 // 这是因为 macOS 用户通常期望应用在关闭所有窗口后仍能保持运行状态,以便随时重新打开窗口。
31 // 而在其他平台上,如 Windows 和 Linux,通常会在所有窗口关闭后退出应用。
32 if (process.platform !== "darwin") app.quit()
33})