// 引入Electron的核心模块 const { app, BrowserWindow, Menu } = require("electron"); const path = require("path"); // 创建窗口的函数 function createWindow() { // 定义图标路径 const iconPath = path.join(__dirname, "./public/app.png"); // 新建一个窗口(就像打开一个浏览器窗口) const mainWindow = new BrowserWindow({ width: 800, // 窗口宽度 height: 600, // 窗口高度 icon: iconPath, ...(process.platform === "linux" ? { icon } : {}), webPreferences: { // 允许在Vue页面中使用Node.js的功能(可选,按需开启) nodeIntegration: true, contextIsolation: false, }, }); // 告诉窗口要显示的内容: // 开发阶段,显示Vue3的本地服务地址(就是刚才npm run dev的地址) mainWindow.loadURL("http://localhost:5173"); // 创建一个简单的菜单(包含前进/后退按钮) // const menu = Menu.buildFromTemplate([ // { // label: "", // 菜单名称 // icon: path.join(__dirname, './public/left.png'), // 16x16 // submenu: [ // { // label: "后退", // 后退按钮 // click: () => mainWindow.webContents.goBack(), // 调用后退API // }, // { // label: "前进", // 前进按钮 // click: () => mainWindow.webContents.goForward(), // 调用前进API // }, // ], // }, // ]); const menu = null; Menu.setApplicationMenu(menu); // 把菜单应用到窗口 // 打开开发者工具(类似浏览器的F12,方便调试,可选) // mainWindow.webContents.openDevTools() } // 当Electron准备好后,创建窗口 app.whenReady().then(() => { createWindow(); // 对于Mac系统的兼容(不用深究,照抄即可) app.on("activate", () => { if (BrowserWindow.getAllWindows().length === 0) createWindow(); }); }); // 关闭所有窗口时退出应用(Windows和Linux的习惯) app.on("window-all-closed", () => { if (process.platform !== "darwin") app.quit(); });