// main.ts // 控制应用生命周期和创建原生浏览器窗口的模组 import path from "path"; import {app, BrowserWindow} from "electron"; function createWindow() { // 创建浏览器窗口 const mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences: { // 引入预加载文件 preload: path.join(__dirname, "preload.js"), }, }); // 加载vite启动的本地服务 mainWindow.loadURL("http://localhost:5173"); } // 这段程序将会在 Electron 结束初始化 // 和创建浏览器窗口的时候调用 // 部分 API 在 ready 事件触发后才能使用。 app.whenReady().then(() => { createWindow(); app.on("activate", function () { // 通常在 macOS 上,当点击 dock 中的应用程序图标时,如果没有其他 // 打开的窗口,那么程序会重新创建一个窗口。 if (BrowserWindow.getAllWindows().length === 0) createWindow(); }); }); // 除了 macOS 外,当所有窗口都被关闭的时候退出程序。 因此,通常对程序和它们在 // 任务栏上的图标来说,应当保持活跃状态,直到用户使用 Cmd + Q 退出。 app.on("window-all-closed", function () { if (process.platform !== "darwin") app.quit(); });