minishouyin/test/test-start.js

57 lines
1.9 KiB
JavaScript
Raw Normal View History

2025-11-12 11:35:57 +08:00
// 简易启动脚本 - 直接启动主进程避免依赖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');
});