impress_asr_input/scripts/copy-ui.js
impressionyang 6681397167 fix: 修复 Electron GUI 启动后空白问题
问题原因:
- UI 文件 (index.html) 没有被复制到 dist 目录
- Electron 主进程加载路径不正确

修复内容:
- 新增 scripts/copy-ui.js: 编译后复制 UI 文件到 dist/ui/
- 修改 electron-main.ts:
  - 修正 UI 文件加载路径为 'ui/index.html'
  - 添加 sandbox: false 配置
  - 添加 ready-to-show 事件监听,避免窗口闪烁
- 修改 package.json: 在构建脚本中添加 copy-ui 步骤

使用说明:
- npm run build: 自动编译并复制 UI 文件
- npm run dev:electron: 开发模式运行 Electron GUI

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-20 16:45:32 +08:00

29 lines
679 B
JavaScript

/**
* 复制 UI 文件到 dist 目录
*/
import { copyFileSync, mkdirSync, existsSync } from 'fs';
import { join } from 'path';
const rootDir = process.cwd();
const srcUiDir = join(rootDir, 'src', 'ui');
const distUiDir = join(rootDir, 'dist', 'ui');
console.log('📋 复制 UI 文件到 dist 目录...');
// 创建目标目录
if (!existsSync(distUiDir)) {
mkdirSync(distUiDir, { recursive: true });
}
// 复制所有 HTML 文件
const files = ['index.html'];
for (const file of files) {
const src = join(srcUiDir, file);
const dest = join(distUiDir, file);
copyFileSync(src, dest);
console.log(`${file}`);
}
console.log('✅ UI 文件复制完成\n');