mcpField
E
electrobun-dev

electrobun-dev

github.com/dexploarer开发512 次安装34 周前更新
代码仓库

关于 electrobun-dev

electrobun-dev 介绍 Electrobun 的开发模式命令,供开发者构建和启动应用。它支持监视文件变化后自动重建并重启,也说明渲染器调试方式。

主要功能

  1. 01开发模式构建并启动应用
  2. 02监视文件变化并重建、重启
  3. 03配置额外监视路径与忽略规则
  4. 04通过 CEF DevTools 检查渲染器
  5. 05启用 macOS 原生 WebView 检查器

适用场景

  1. 01启动 Electrobun 应用进行开发
  2. 02代码保存后自动重新构建应用
  3. 03检查 CEF 渲染器页面
  4. 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 时会发生什么

  1. 读取 electrobun.config.ts
  2. 下载所有缺失的原生二进制文件(Bun、启动器,以及配置了 WGPU/CEF 时所需的文件)
  3. 在开发模式下通过 Bun.build() 打包 build.bun.entrypoint(不进行压缩,内联 sourcemaps)
  4. 打包每个 build.views.* 入口点
  5. 将 build.copy 文件复制到构建输出目录
  6. 跳过代码签名和公证
  7. 将应用程序包写入 build/dev-<os>-<arch>/
  8. 启动应用,并将 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]

调试提示

  1. 控制台输出:来自 Bun 端代码的所有 console.log 都会显示在终端中。渲染器端的 console.log 只会显示在开发者工具中(不会显示在终端)。
  2. RPC 跟踪:在请求/消息处理程序中添加 console.log,以跟踪跨进程调用。
  3. Source map:开发构建包含内联 source map。堆栈跟踪会指向 .ts 源代码行。
  4. 重新加载缓慢? 将更改的目录单独添加到 build.watch,不要使用宽泛的模式。
  5. 应用未重新启动? 如果应用进程占用了文件锁,请手动终止: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