읭읭이긔
10
2020-12-16 14:05:08
2
140

express 라우팅 질문입니다....



const express = require("express");
const cookieParser = require("cookie-parser");
const path = require("path");
const morgan = require("morgan");
const session = require("express-session");
const nunjucks = require("nunjucks");
const dotenv = require("dotenv");

dotenv.config();
const pageRouter = require("./routes/page");

const app = express();
app.set("port", process.env.PORT || 8001);
app.set("view engine", "html");
nunjucks.configure("views", {
  express: app,
  watch: true,
});
app.use(morgan("dev"));
app.use(express.static(path.join(__dirname, "public")));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser(process.env.COOKIE_SECRET));
app.use(
  session({
    resave: false,
    saveUninitialized: false,
    secret: process.env.COOKIE_SECRET,
    cookie: {
      httpOnly: true,
      secret: false,
    },
  })
);

console.log("뭐1");
app.use("/", pageRouter);
console.log("뭐2");

app.use((req, res, next) => {
  const error = new Error(`${req.method} ${req.url} 라우터가 없습니다.`);
  error.status = 404;
  next(error);
});

app.use((err, req, res, next) => {
  res.locals.message = err.message;
  res.locals.error = process.env.NODE_ENV !== "production" ? err : {};
  res.status(err.status || 505);
  res.render("error");
});

app.listen(app.get("port"), () => {
  console.log(app.get("port"), "번 포트에서 대기중");
});


여기서 제가 local8001에 들어가면 app.use('/', pageRouter)에 걸려야하는데... error가 뜨네요

routes폴더안에 page.js 들어있고

views 폴더안에 login.html   error.html이 들어있습니다.

그런데 왜 login.html을 안보내는지 아직 이해가 안갑니다


아래는 page.js입니다.

const express = require("express");

const router = express.Router();

router.get("/", async (req, res, next) => {
  try {
    res.render("login");
  } catch (err) {
    console.error("error났음");
    next(err);
  }
});

module.exports = router;

0
  • 답변 2

  • hoonnote
    628
    2020-12-16 14:30:06

    일단 pug나 handlebar 말고 플레인 html 렌더링하려면 템플릿 엔진 설정을 조금 다르게 해줘야하는듯 하네요


    https://uroa.tistory.com/97 여기 참고하셔서 한번 해보세요

  • 피자7
    637
    2020-12-17 23:02:47

    에러코드가 뭐라고 뜨던가요?

  • 로그인을 하시면 답변을 등록할 수 있습니다.