问题原因: - 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>
29 lines
679 B
JavaScript
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');
|