关于 electrobun-dev
electrobun-dev 介绍 Electrobun 的开发模式命令,供开发者构建和启动应用。它支持监视文件变化后自动重建并重启,也说明渲染器调试方式。
主要功能
- 01开发模式构建并启动应用
- 02监视文件变化并重建、重启
- 03配置额外监视路径与忽略规则
- 04通过 CEF DevTools 检查渲染器
- 05启用 macOS 原生 WebView 检查器
适用场景
- 01启动 Electrobun 应用进行开发
- 02代码保存后自动重新构建应用
- 03检查 CEF 渲染器页面
- 04调试 macOS 原生 WebView
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dexploarer/ plugin-electrobun-dev --skill electrobun-dev安装后在 Claude Code 中输入/electrobun-dev确认已加载。
详细介绍
Electrobun 开发模式
命令
electrobun dev # build (dev env) once, then launch app
electrobun dev --watch # build, launch, then watch for changes and rebuild+relaunch
通过 package.json 使用简写(标准模板):
bun start # → electrobun dev
bun run dev # → electrobun dev --watch
运行 electrobun dev 时会发生什么
- 读取
electrobun.config.ts - 下载所有缺失的原生二进制文件(Bun、启动器,以及配置了 WGPU/CEF 时所需的文件)
- 在开发模式下通过
Bun.build()打包build.bun.entrypoint(不进行压缩,内联 sourcemaps) - 打包每个
build.views.*入口点 - 将
build.copy文件复制到构建输出目录 - 跳过代码签名和公证
- 将应用程序包写入
build/dev-<os>-<arch>/ - 启动应用,并将 stdout/stderr 流式输出到终端
监视模式(--watch)
初始构建并启动后,监视模式会监视:
- 包含
build.bun.entrypoint的目录 - 包含每个
build.views.*入口点的目录 build.watch中列出的目录(额外路径)build.copy中所列文件所在的目录
防抖: 300ms — 连续快速保存会合并为一次重建。
自动忽略: build/、artifacts/、node_modules/,以及 build.watchIgnore 中的模式。
发生更改时: 终止正在运行的应用 → 重新构建 → 重新启动。
额外监视路径
// electrobun.config.ts
build: {
watch: ["src/shared/", "assets/"],
watchIgnore: ["src/**/*.test.ts", "src/**/*.spec.ts"],
}
CEF DevTools(Chromium 检查器)
使用 renderer: "cef" 或 defaultRenderer: "cef" 时,CEF 渲染器会在以下地址开放 Chrome DevTools:
http://localhost:9222
应用运行时,可在任何 Chrome/Chromium 浏览器中打开。页面会列出所有活动的渲染器页面,点击即可检查。
注意:DevTools 仅在 dev 构建中可用,不会在 canary 或 stable 中开放。
原生 WebView 调试(macOS)
对于 renderer: "native"(WKWebView),请启用开发者扩展:
// In src/bun/index.ts — call openDevTools() on the BrowserView instance
const view = new BrowserView({ ... });
view.openDevTools(); // Opens Safari Web Inspector (uses private WKWebView _inspector API)
或者在 Safari 中选择:开发 → [Your App] → [webview name]
调试提示
- 控制台输出:来自 Bun 端代码的所有
console.log都会显示在终端中。渲染器端的console.log只会显示在开发者工具中(不会显示在终端)。 - RPC 跟踪:在请求/消息处理程序中添加
console.log,以跟踪跨进程调用。 - Source map:开发构建包含内联 source map。堆栈跟踪会指向
.ts源代码行。 - 重新加载缓慢? 将更改的目录单独添加到
build.watch,不要使用宽泛的模式。 - 应用未重新启动? 如果应用进程占用了文件锁,请手动终止:
pkill -f "<AppName>"
构建输出(dev)
build/dev-macos-arm64/
└── <AppName>-dev.app/
└── Contents/
├── MacOS/
│ ├── launcher # native launcher
│ └── main.js # bundled bun entrypoint
├── Resources/
│ ├── <viewname>/ # bundled renderer
│ └── bun # bun runtime binary
└── Info.plist
评论
支持 Markdown