• 简体中文
  • 从 electron-vite 迁移

    Rselectron 追求能力对等,而不是 Vite 配置的一比一重命名。按语义迁移。已知对等例外(Vite 插件、V8 bytecode、导出的 SWC helper)见 兼容性

    包与插件

    electron-viteRselectron
    electron-vite@rselectron/core(peer:@rsbuild/core
    Vite 插件例外 — 改写为 Rsbuild / Rspack 插件
    Bytecode 插件 / V8 bytecode例外 — 未实现;无静默回退
    导出的 SWC helper例外 — 通过 Rsbuild / Rspack 配置 SWC

    配置与环境

    主题映射
    Main / Preload / Renderer 的 Vite 配置defineConfig 下的 main / preload / renderer(Rsbuild)— 配置
    Vite root / build / pluginsRsbuild root / output / plugins
    环境文件--env-modeRSELECTRON_ 等前缀 — 环境
    构建模式--modedevelopment | production | none
    Electron 启动选项顶层 electronElectron 选项

    监视与开发

    electron-viteRselectron
    Main / Preload watchelectron.watchrselectron dev --watch[=main|preload]CLI
    Renderer HMR渲染进程开发服务器(Vanilla / React 通过 Rsbuild 插件)
    配置变更重新加载配置并替换开发会话

    API 与 CLI

    表面说明
    CLI显式 dev / build / preview / inspect;长旗标仅 kebab-case — CLI
    程序化 APIbuildcreateServerpreviewinspectdefineConfig 及相关导出 — JavaScript API
    Electron 版本ELECTRON_SUPPORT_SNAPSHOT 与可选 Electron peer
    打包边界仅源码构建;安装包用 electron-builder / Forge

    清单

    1. 把 Vite 插件换成 Rsbuild 插件。
    2. 去掉 bytecode / SWC-helper 用法;剩余需求在 Rselectron 外处理。
    3. 把各进程 root 与入口映射到 配置 下的 Rsbuild 配置。
    4. package.json#main 指到约定角色产物下的计划 Main 输出(未设置 distPath 时为 out/main/...)。
    5. "type": "module" 应用优先 Preferred ESM path:保持 electron.formatauto(推导 ESM)。走上 ESM 后去掉 beta 期 CJS workaround——被迫的 format: 'cjs'、仅为 import-only 包加的 externalizeDeps.include 白名单,以及默认的 webpackIgnore / 魔法注释 import() 互操作(故障排除)。
    6. 在受支持 peer 范围内安装项目本地 Electron(兼容性)。
    7. rselectron inspect 校验,再跑 dev / build / preview
    8. 优先从 examples/ 复制。