var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var logger = require('morgan'); const cors = require('cors'); //优先读取环境变量 require("dotenv").config() //引入数据库连接 require("./dao/db") //引入路由 const userRouter = require('./routes/user'); const expressRouter = require("./routes/express") var app = express(); //配置cors const corsOptions = { allowedHeaders: ['Content-Type', 'Authorization'], exposedHeaders: ['Authentication', 'X-Custom-Header'], credentials: true, } //为所有源跨域 app.use(cors(corsOptions)) //使用各种中间件 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'))); //使用路由中间件 app.use('/user', userRouter); app.use("/express", expressRouter) // catch 404 and forward to error handler app.use(function (req, res, next) { next(createError(404)); }); // 错误捕获 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); }); module.exports = app;