import dotenv from "dotenv"; // 加载 .env 文件中的环境变量 dotenv.config(); import express from "express"; import { serverConfig } from "./config.js"; import { logger } from "./middleware/logger.js"; import { errorHandler } from "./middleware/errorHandler.js"; import exampleRoutes from "./routes/exampleRoutes.js"; import chartRoutes from "./routes/chartRoutes.js"; import path from "path"; import { fileURLToPath } from "url"; // 引入 cors 模块 import cors from "cors"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const app = express(); // 使用 cors 中间件 app.use(cors()); // 中间件 app.use(express.json({ limit: "100mb" })); app.use(logger); // 静态文件服务 app.use("/images", express.static(path.join(process.cwd(), "src", "images"))); app.use("/js", express.static(path.join(process.cwd(), "src", "public", "js"))); app.use( "/testData.json", express.static(path.join(process.cwd(), "src", "testData.json")) ); // 路由 app.use("/examples", exampleRoutes); app.use("/chartServer/charts", chartRoutes); // 错误处理 app.use(errorHandler); export const startServer = () => { app.listen(serverConfig.port, serverConfig.host, () => { console.log( `Server is running on http://${serverConfig.host}:${serverConfig.port}` ); }); }; export default app;