mirror of
https://gh-proxy.org/https://github.com/klinsmaya/LobsterAI.git
synced 2026-11-08 01:06:44 +08:00
45 lines
972 B
JavaScript
45 lines
972 B
JavaScript
const { spawn } = require('child_process');
|
|
const { createServer } = require('vite');
|
|
const electron = require('electron');
|
|
const path = require('path');
|
|
|
|
async function startApp() {
|
|
// 启动 Vite 开发服务器
|
|
const server = await createServer();
|
|
await server.listen();
|
|
|
|
console.log('Vite server started');
|
|
|
|
// 编译 Electron 主进程代码
|
|
require('child_process').execSync('tsc --project electron-tsconfig.json', {
|
|
stdio: 'inherit',
|
|
});
|
|
|
|
console.log('Electron main process code compiled');
|
|
|
|
// 启动 Electron
|
|
const proc = spawn(electron, ['.'], {
|
|
stdio: 'inherit',
|
|
env: {
|
|
...process.env,
|
|
NODE_ENV: 'development',
|
|
},
|
|
});
|
|
|
|
proc.on('close', () => {
|
|
server.close();
|
|
process.exit();
|
|
});
|
|
|
|
// 处理进程终止
|
|
process.on('SIGTERM', () => {
|
|
proc.kill();
|
|
server.close();
|
|
process.exit();
|
|
});
|
|
}
|
|
|
|
startApp().catch((err) => {
|
|
console.error('Error starting app:', err);
|
|
process.exit(1);
|
|
});
|