에러 메세지
Error: Route.get() requires a callback function but got a [object Undefined]
이 에러 메세지를 해석해보면,
Route의 get 메소드는 callback function가 필요했지만, 정의되지 않은 객체가 들어와있어서 오류가 났다. 라는 뜻이다.
`정의되지 않은 객체` 라는 말에서 짐작할 수 있듯이 다른 곳에서 불러온 변수를 사용하려고 했을때 오타가 나서 에러가 났을 것이라 짐작했다. 그래서 에러 메시지에서 흰색으로 표시되어있는 page.js 파일에 들어가봤다.
여기서 주목해야 할 부분은
흰색으로 뚜렷하게 표시된 마지막 줄 메세지를 보면 된다.
command키와 주소 부분을 함께 클릭하게 되면 저 페이지로 들어갈 수 있어 확인하였다.
그 중에서도 16번째 줄에서 오류가 났다는 말이므로 16번째 줄을 주목하자.
16번째 줄을 주목하면 isNotLoggedIn 이나 renderJoin 둘 중 하나가 잘못되었음을 추측할 수 있다.
하지만 오타라고 여길 만한 부분이 없는 정상 상황이었기에, 원본파일, 즉 isLoggedIn과 isNotloggedIn을 가지고 있던 원래 파일인 ../midldlewares 폴더의 파일에 들어가서 확인해주었다. (이도 마찬가지로 command 키와 click 이 함께라면 더 빠르게 작업 가능하다.)
다른 부분은 살필 필요가 없다. 그냥 Name 부분만 집중해서 오타를 찾으면 된다.
보12번째 줄에 isNotLoggenIn 이라 오타가 나있는 부분이 원인임을 찾아냈고 이를 제대로 isNotLoggedIn 로 수정해주면 된다.
그렇다.
생각보다 프로그래밍에서는 오타로 나는 에러들이 굉장히 많다. 이에 시간을 빼앗기지 않도록 조심할 필요가 있다.
'Backend > Node.js' 카테고리의 다른 글
[Node.js] logout은 꼭 post 메서드를 써야 할까 (0) | 2023.02.21 |
---|
댓글