minishouyin/test/test-start.js
2025-11-12 11:35:57 +08:00

57 lines
1.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 简易启动脚本 - 直接启动主进程避免依赖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');
});