require('dotenv').config(); const express = require('express'); const cors = require('cors'); const path = require('path'); const app = express(); // 中间件 app.use(cors()); app.use(express.json()); // API 路由 app.use('/api', require('./routes/activity')); app.use('/api', require('./routes/registration')); app.use('/api/admin', require('./routes/admin')); // 生产环境下提供前端静态文件 if (process.env.NODE_ENV === 'production') { // 静态文件目录 app.use(express.static(path.join(__dirname, 'public'))); // 所有其他请求返回 index.html(支持前端路由) app.get('*', (req, res) => { res.sendFile(path.join(__dirname, 'public', 'index.html')); }); } const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`服务器运行在 http://localhost:${PORT}`); if (process.env.NODE_ENV === 'production') { console.log('运行模式: 生产环境(前后端一体)'); } else { console.log('运行模式: 开发环境(仅后端API)'); } });