// 简易启动脚本 - 直接启动主进程,避免依赖concurrently const { spawn } = require('child_process'); const path = require('path'); const fs = require('fs'); console.log('迷你收银台系统 - 简易启动脚本'); console.log('==============================\n'); // 确保数据目录存在 const dataDir = path.join(__dirname, 'data'); if (!fs.existsSync(dataDir)) { console.log('创建数据目录...'); fs.mkdirSync(dataDir, { recursive: true }); } // 启动应用 console.log('正在启动收银台应用...'); // 添加更详细的调试信息 console.log('\n======== 启动信息汇总 ========'); console.log('- 启动时间:', new Date().toLocaleString()); console.log('- 应用状态: 正在加载...'); console.log('\n如需查看前端详细日志,请检查Electron开发者工具控制台'); console.log('可以按Ctrl+Shift+I在应用窗口中打开开发者工具'); console.log('===============================\n'); // 直接运行electron const electronProcess = spawn( path.join(__dirname, 'node_modules', '.bin', 'electron.cmd'), ['.'], { cwd: __dirname, stdio: 'inherit', shell: true, env: { ...process.env, DEBUG: 'electron:*' } } ); // 定期检查应用状态 const statusInterval = setInterval(() => { console.log(`[${new Date().toLocaleTimeString()}] 应用正常运行中...`); }, 30000); // 每30秒输出一次状态 electronProcess.on('close', (code) => { console.log(`\n应用进程退出,代码: ${code}`); if (code !== 0) { console.log('\n应用启动失败,请尝试以下解决方案:'); console.log('1. 删除node_modules文件夹并重新安装依赖'); console.log('2. 以管理员身份运行启动脚本'); console.log('3. 检查Node.js版本是否满足要求(14+)'); } }); electronProcess.on('error', (error) => { console.error('\n启动失败:', error.message); console.log('\n请检查electron是否正确安装,尝试运行: npm install electron'); });