728x90
반응형

app.js

const express = require("express");
const app = express();

app.set("views", "views");
app.set("view engine", "ejs");

const mainRoutes = require("./src/routes/main");

app.get("/", mainRoutes);
app.get("/login", mainRoutes);

app.listen(8000, (req, res) => {
  console.log("8000번 서버가동");
});

/routes/main.js

const express = require("express");
const router = express.Router();

router.get("/", (req, res) => {
  res.send("메인화면");
});

router.get("/login", (req, res) => {
  res.send("로그인");
});

module.exports = router;

 

위 상태에서 서버를 실행하면 

Route.get() requires a callback function but got a [object Undefined]

 

뭐가 문제지? 라우터를 내보냈는데 읽지 못하는 것 같다.

유심히 살펴보니

app.get이 아니라 미들웨어로써 사용하는 것이기 때문에

app.use로 바꿔주니 해결 되었다.

 

app.get("/", mainRoutes);
app.get("/login", mainRoutes);

 

이미 라우터에서 "/" , "/login"을 받고 있기 때문에

app.use("/", mainRoutes) 만 등록해주니 해결 완료!

 

728x90
반응형

+ Recent posts