用途:指导使用 Electron 进行全栈桌面应用开发,从架构设计到分发发布,涵盖进程模型、安全加固、原生系统集成、IPC 模式、打包与自动更新。
主要能力:
- 进程架构:说明主进程(Node.js,完整系统访问)、渲染进程(Chromium,默认沙箱)和预加载脚本(通过 contextBridge 桥接)的分工与数据流。
- 安全优先配置:强制要求创建 BrowserWindow 时设置 contextIsolation: true、sandbox: true、nodeIntegration: false、webSecurity: true、allowRunningInsecureContent: false,并列出禁止项(nodeIntegration: true、contextIsolation: false、webSecurity: false、远程模块等)。
- IPC 通信:提供双向(ipcMain.handle / ipcRenderer.invoke)、单向推送(webContents.send)、单向触发(ipcRenderer.send / ipcMain.on)等模式,并强调在主进程校验渲染进程输入、限制路径遍历。
- 原生系统集成:菜单与角色、系统托盘、通知(需先检测 isSupported)、文件与消息对话框、shell 操作(openExternal、openPath、showItemInFolder)。
- 应用生命周期:窗口创建、ready-to-show 显示、macOS activate 重建窗口、window-all-closed 退出逻辑。
- 自动更新:使用 electron-updater 的 checkForUpdatesAndNotify、事件监听与 quitAndInstall。
- 打包发布:electron-builder 的 package.json 构建配置(appId、productName、mac/win/linux 目标、publish),以及 pnpm exec electron-builder 命令。
- 深度链接与单实例锁:setAsDefaultProtocolClient、open-url、second-instance、requestSingleInstanceLock。
- 性能实践:窗口懒加载、utilityProcess 后台处理、通过 session.webRequest 拦截不必要请求。
- 开发流程:electron-vite dev、concurrently 配合 wait-on、--inspect=9229 调试主进程。
使用方式:技能以文档与代码片段形式提供,可直接对照配置和调用。安装命令或包管理器安装步骤暂未提供。
适用场景:需要构建跨平台桌面应用、集成操作系统原生能力、加固 Electron 安全配置、实现自动更新与多渠道打包的项目。
限制:仅面向 Electron 技术栈;具体版本要求、支持的平台版本、性能数据、收费与许可信息暂未提供。