var createError = require("http-errors"); var express = require("express"); var path = require("path"); var cookieParser = require("cookie-parser"); var logger = require("morgan"); const bodyParser = require("body-parser"); var indexRouter = require("./routes/index"); var usersRouter = require("./routes/users"); var homeworkRouter = require("./routes/homework"); var app = express(); var cors = require("cors"); app.options("*", cors()); app.use(cors()); //全局变量 global.dirname = __dirname; // view engine setup app.set("views", path.join(__dirname, "views")); app.set("view engine", "ejs"); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.use(logger("dev")); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, "public"))); const { PrismaClient } = require("@prisma/client"); const prisma = new PrismaClient(); // 使用路由 app.get("/api/test", (req, res) => { res.json({ status: true, message: "成功", time: new Date().getTime(), }); }); app.use("/", homeworkRouter); app.use("/users", usersRouter); app.get("/test", async (req, res) => { res.render("test.ejs"); }); // catch 404 and forward to error handler app.use(function (req, res, next) { next(createError(404)); }); // error handler app.use(function (err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get("env") === "development" ? err : {}; // render the error page res.status(err.status || 500); res.render("error"); }); module.exports = app;