Files
egret-app-template/packages/server/src/index.ts

41 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-08-25 17:11:15 +08:00
import dotenv from "dotenv";
import express from "express";
import cors from "cors";
import compression from "compression";
import nocache from "nocache";
import path from "path";
dotenv.config({ path: path.resolve(__dirname, "../../../.env") });
import "./database";
import { sequelize } from "./database/instance";
import {errorHandler} from "./middleware/errorHandler";
2025-09-30 14:27:53 +08:00
import {RegisterTsoaRoutes} from "./middleware/tsoa.middleware";
2025-08-25 17:11:15 +08:00
const port = process.env.PORT || 3005;
const app = express();
app.set("etag", false);
app.use(nocache());
app.use(cors());
app.use(express.json({ limit: "100mb" }));
app.use(compression());
app.use(express.static(path.resolve(__dirname, "client")));
// Register tsoa routes
2025-09-26 16:10:53 +08:00
RegisterTsoaRoutes(app);
app.use(errorHandler);
2025-08-25 17:11:15 +08:00
const host = "0.0.0.0";
app.listen(Number(port), host, async () => {
try {
await sequelize.sync({ alter: true });
console.log("[server]: sequelize.sync() executed");
} catch (e) {
console.error("Failed to sync database:", e);
}
2025-08-25 17:11:15 +08:00
console.log(`[server]: Server is running at http://${host}:${port}`);
});