server.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // 导入依赖
  2. import { ServerManager } from './utils/serverManager';
  3. import { serverConfig } from './config/serverConfig';
  4. import Task from './utils/task';
  5. import { connectToMongo } from './mongo/mongodb';
  6. const router = require('./router/index');
  7. // 初始化MongoDB连接
  8. async function initializeMongoDB() {
  9. try {
  10. console.log('开始初始化MongoDB');
  11. await connectToMongo();
  12. console.log('MongoDB初始化成功');
  13. } catch (error) {
  14. console.error('MongoDB初始化失败:', error);
  15. process.exit(1); // 如果MongoDB连接失败,退出进程
  16. }
  17. }
  18. // 创建服务器管理器实例
  19. let serverManager: ServerManager;
  20. // 启动服务器
  21. async function startServer() {
  22. // 先初始化MongoDB
  23. await initializeMongoDB();
  24. // 创建服务器管理器实例
  25. serverManager = new ServerManager(router);
  26. // 启动所有配置的端口
  27. serverConfig.ports.forEach(port => {
  28. const success = serverManager.createServer(port);
  29. if (success) {
  30. console.log(`启动成功,服务端口为:${port}`);
  31. }
  32. });
  33. return serverManager;
  34. }
  35. // 启动服务器
  36. startServer().catch(error => {
  37. console.error('服务器启动失败:', error);
  38. process.exit(1);
  39. });
  40. // 导出服务器管理器以便其他模块可以使用
  41. export default () => serverManager;
  42. // 注释掉的任务相关代码保留
  43. // const appTask = new Task();
  44. // appTask.openServer()