93 lines
1.4 KiB
JavaScript
93 lines
1.4 KiB
JavaScript
const express = require("express");
|
|
const helmet = require("helmet");
|
|
const compression = require("compression");
|
|
const morgan = require("morgan");
|
|
const cookieParser = require("cookie-parser");
|
|
const path = require("path");
|
|
const expressLayouts = require("express-ejs-layouts");
|
|
const flash = require("connect-flash");
|
|
const userMiddleware = require("../middleware/user");
|
|
|
|
const session = require("./session");
|
|
|
|
|
|
module.exports = () => {
|
|
|
|
const app = express();
|
|
|
|
|
|
app.set("view engine", "ejs");
|
|
|
|
app.set(
|
|
"views",
|
|
path.join(__dirname, "../views")
|
|
);
|
|
|
|
|
|
app.use(expressLayouts);
|
|
|
|
app.set(
|
|
"layout",
|
|
"layouts/main"
|
|
);
|
|
|
|
|
|
app.use(
|
|
helmet({
|
|
contentSecurityPolicy: false
|
|
})
|
|
);
|
|
|
|
|
|
app.use(compression());
|
|
|
|
app.use(morgan("dev"));
|
|
|
|
app.use(cookieParser());
|
|
|
|
|
|
app.use(
|
|
express.urlencoded({
|
|
extended: true
|
|
})
|
|
);
|
|
|
|
|
|
app.use(express.json());
|
|
|
|
app.use(session);
|
|
|
|
app.use(userMiddleware);
|
|
|
|
app.use(flash());
|
|
|
|
|
|
app.use(
|
|
express.static(
|
|
path.join(__dirname, "../public")
|
|
)
|
|
);
|
|
|
|
|
|
app.use(
|
|
"/",
|
|
require("../routes/auth")
|
|
);
|
|
|
|
app.use(
|
|
"/",
|
|
require("../routes/web")
|
|
);
|
|
|
|
|
|
app.use((req, res) => {
|
|
|
|
res.status(404)
|
|
.render("errors/404");
|
|
|
|
});
|
|
|
|
|
|
return app;
|
|
|
|
}; |