SuperAPI AI 工具集

electron-pro

编程与开发

查看项目

更新于 10-16 07:24

技能介绍

用途:指导使用 Electron 进行全栈桌面应用开发,从架构设计到分发发布,涵盖进程模型、安全加固、原生系统集成、IPC 模式、打包与自动更新。

主要能力:

  1. 进程架构:说明主进程(Node.js,完整系统访问)、渲染进程(Chromium,默认沙箱)和预加载脚本(通过 contextBridge 桥接)的分工与数据流。
  2. 安全优先配置:强制要求创建 BrowserWindow 时设置 contextIsolation: true、sandbox: true、nodeIntegration: false、webSecurity: true、allowRunningInsecureContent: false,并列出禁止项(nodeIntegration: true、contextIsolation: false、webSecurity: false、远程模块等)。
  3. IPC 通信:提供双向(ipcMain.handle / ipcRenderer.invoke)、单向推送(webContents.send)、单向触发(ipcRenderer.send / ipcMain.on)等模式,并强调在主进程校验渲染进程输入、限制路径遍历。
  4. 原生系统集成:菜单与角色、系统托盘、通知(需先检测 isSupported)、文件与消息对话框、shell 操作(openExternal、openPath、showItemInFolder)。
  5. 应用生命周期:窗口创建、ready-to-show 显示、macOS activate 重建窗口、window-all-closed 退出逻辑。
  6. 自动更新:使用 electron-updater 的 checkForUpdatesAndNotify、事件监听与 quitAndInstall。
  7. 打包发布:electron-builder 的 package.json 构建配置(appId、productName、mac/win/linux 目标、publish),以及 pnpm exec electron-builder 命令。
  8. 深度链接与单实例锁:setAsDefaultProtocolClient、open-url、second-instance、requestSingleInstanceLock。
  9. 性能实践:窗口懒加载、utilityProcess 后台处理、通过 session.webRequest 拦截不必要请求。
  10. 开发流程:electron-vite dev、concurrently 配合 wait-on、--inspect=9229 调试主进程。

使用方式:技能以文档与代码片段形式提供,可直接对照配置和调用。安装命令或包管理器安装步骤暂未提供。

适用场景:需要构建跨平台桌面应用、集成操作系统原生能力、加固 Electron 安全配置、实现自动更新与多渠道打包的项目。

限制:仅面向 Electron 技术栈;具体版本要求、支持的平台版本、性能数据、收费与许可信息暂未提供。