Files
LobsterAI/scripts/dev.js
T

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);
});