const express = require("express"); const path = require("path"); const { PORT } = require("./config.js"); const app = express(); if (process.env.NODE_ENV === "production") { // 🔧 URL rewrite 必須在所有路由之前執行(對應 Vite dev proxy 的行為) app.use((req, res, next) => { if (req.path.startsWith("/forge/api")) { req.url = req.url.replace(/^\/forge\/api/, "/api"); req.path = req.path.replace(/^\/forge\/api/, "/api"); } next(); }); const distPath = path.join(__dirname, "wwwroot/ibms_ems/dist"); app.use(express.static(distPath)); } // 👉 API routes(在 rewrite 之後) app.use(require("./routes/auth.js")); if (process.env.NODE_ENV === "production") { // Vue Router history mode (Express 5 catch-all syntax) app.get("/{*path}", (req, res) => { res.sendFile(path.join(__dirname, "wwwroot/ibms_ems/dist", "index.html")); }); } else { // 👉 Dev:只跑 API,不管前端 app.get("/", (req, res) => { res.send("API server running..."); }); } app.listen(PORT, () => { console.log(`Server listening on port ${PORT}...`); });