const express = require("express");
const morgan = require("morgan");
const cookieParser = require("cookie-parser");
const session = require("express-session");
const dotenv = require("dotenv");
const path = require("path");
const multer = require("multer");
const nunjucks = require("nunjucks");
const mainRouter = require("./routes/index.js");
const writeRouter = require("./routes/write.js");
const loginRouter = require("./routes/login.js");
dotenv.config();
const app = express();
nunjucks.configure("views", {
express: app,
watch: true,
});
const upload = multer({
storage: multer.diskStorage({
destination(req, file, done) {
done(null, "uploads/");
},
filename(req, file, done) {
const ext = path.extname(file.originalname);
done(null, path.basename(file.originalname, ext) + Date.now() + ext);
},
}),
limits: { fileSize: 5 * 1024 * 1024 },
});
app.set("port", process.env.PORT || 3000);
app.set("view engine", "html");
app.use(morgan("dev"));
app.use(cookieParser(process.env.COOKIE_SECRET));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(
session({
resave: false,
saveUninitialized: false,
secret: process.env.COOKIE_SECRET,
cookie: {
httpOnly: true,
secure: false,
},
name: "session-cookie",
})
);
app.use("/", mainRouter);
app.use("/write", writeRouter);
app.use("/login", loginRouter);
app.listen(app.get("port"), () => {
console.log(app.get("port"), "번 포트에서 대기중");
});