electron-vite相关
1. electron-vite相关的问题汇总
https://github.com/alex8088/electron-vite
https://cn.electron-vite.org/
2. electron-vite如何集成 Dockview
https://dockview.dev/templates/
完整 Dockview 浮动窗口示例 (Electron-Vite)
- ⚙️ 主进程 (Main Process) 设置
在你的 Electron 主进程文件(通常是 src/main/index.ts 或 src/main/main.ts)中,你需要添加代码来监听渲染进程发出的创建新窗口的请求。
1 |
|
- Preload 脚本设置
为了在渲染进程中安全地使用 IPC,你需要通过 contextBridge 在 Preload 脚本中暴露必要的 IPC 功能。
1 | TypeScript |
- 🖼️ 渲染进程 (Renderer Process) - Dockview 组件修改
你需要修改 DockviewContainer.vue,实现 createExternalWindow 钩子。
代码段
1 | <template> |
🔑 总结和操作步骤
设置 IPC (Preload & Main): 在主进程中配置 ipcMain 来创建 BrowserWindow,并在 Preload 中通过 contextBridge 安全暴露 ipcRenderer 的 send 和 on 方法。
实现 createExternalWindow: 在 DockviewContainer.vue 中,实现 createExternalWindow 钩子,它向主进程发送创建新窗口的请求,并返回 Dockview 所需的 postMessage 接口。
处理外部窗口初始化:
检查 URL 中的查询参数 (?external=true) 来判断当前窗口是主窗口还是浮动面板窗口。
如果是浮动面板窗口,在实例化 DockviewComponent 时传入 isExternal: true 和 externalGroupId,并监听主窗口发来的 dockview-message。
操作步骤:
运行你的 Electron-Vite 应用。
点击一个面板的标题栏。
将标题栏拖出主窗口的边界。
释放鼠标,一个新的、独立的 Electron 窗口就会弹出,其中包含你拖出的面板