/** * 启动已构建的应用(out/ 已存在)。 * 用法:node scripts/start.mjs [--no-sandbox] [--remote-debugging-port=9223] */ import { spawn } from "node:child_process"; import fs from "node:fs"; import path from "node:path"; const candidates = [ process.env.RPA_ELECTRON_DIST, "C:/electron-rpa/dist", path.join(process.cwd(), "node_modules", "electron", "dist") ].filter(Boolean); const dist = candidates.find((candidate) => fs.existsSync(path.join(candidate, "electron.exe"))); if (!dist) { console.error("找不到可用的 Electron 运行时。请设置 RPA_ELECTRON_DIST。"); process.exit(1); } const env = { ...process.env }; delete env.ELECTRON_RUN_AS_NODE; const args = [path.resolve("."), ...process.argv.slice(2)]; console.log(`[start] ${path.join(dist, "electron.exe")} ${args.join(" ")}`); const child = spawn(path.join(dist, "electron.exe"), args, { stdio: "inherit", env }); child.on("exit", (code) => process.exit(code ?? 0));