본문 바로가기
Node.js

list.js Router - 404 Error

by 세인트킴 2024. 2. 16.
<list.js>

const express = require('express')
const router = express.Router()
const bodyParser = require('body-parser')

// MongoDB 연결
let connectDB = require('./db.js')
const { ObjectId } = require('mongodb')
let db 
connectDB.then((client) => {
  console.log('DB 연결 성공')
  db = client.db('forum')
}).catch((err) => {
  console.error(err)
})

// 라우터 설정
router.use(bodyParser.json())
router.use(bodyParser.urlencoded({ extended : true }))

router.get('/list', async (req, res) => {
  try {
    res.render('list.ejs')
    // let result = await db.collection('post').find().toArray()
    // console.log(result)
  } catch(err) {
    console.error(err)
  }
})

module.exports = router

router.get()을 할 때 '/list'를 넣었더니 404 Error이 계속 발생하고 원인을 찾기 어려웠다. 그래서 login.js 파일과 server.js 파일을 보던 중 server.js에서 app.use('/list', require('./router/list'))가 되어있던 것을 보고 문제의 원인을 찾았다. app.use()에서 '/list' 경로로 들어오는 모든 것들을 list.js 파일에서 불러온다고 되어 있기 때문에 경로를 못찾는 404 에러가 발생한 것이였다. 이걸 해결하기 위해서는 경로를 '/list/list'를 해야지 router.get()이 작동할 수 있다. 하지만 또 다른 경로를 만드는 것은 불필요한 작업이기 때문에 router.get('/')으로 수정하면 정상 작동을 한다. 

 

router.get()을 통해 다른 경로를 만들면 "localhost:8080/~~" 라는 경로가 만들어진다. 

'Node.js' 카테고리의 다른 글

사소한 오류 해결  (0) 2024.03.20
BSON Error 해결  (0) 2024.03.10
MongoDB Router 연결  (1) 2024.02.16
라우터 설정  (0) 2024.02.16
server.js  (0) 2024.02.10