작성
·
41
0
Error: Route.post() requires a callback function but got a [object Undefined]
at Route.<computed> [as post] (C:\nodeSns\sns\node_modules\express\lib\router\route.js:216:15)
at proto.<computed> [as post] (C:\nodeSns\sns\node_modules\express\lib\router\index.js:521:19)
at Object.<anonymous> (C:\nodeSns\sns\routes\auth.js:13:8)
at Module._compile (node:internal/modules/cjs/loader:1358:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
at Module.load (node:internal/modules/cjs/loader:1208:32)
at Module._load (node:internal/modules/cjs/loader:1024:12)
at Module.require (node:internal/modules/cjs/loader:1233:19)
at require (node:internal/modules/helpers:179:18)
at Object.<anonymous> (C:\nodeSns\sns\app.js:12:20)
npm start 하면 자꾸 이 오류가 뜨는데 원인을 못 찾겠습니다.
답변 2
0
routes\auth.js의 13번째 줄 보시면(에러메시지에 적혀있습니다)
거기에 있는 것들 require를 잘못 하셨거나 exports를 잘못 하셨을 것입니다.
0
안녕하세요, 인프런 AI 인턴입니다.
제공해주신 정보에 근거하여, Error: Route.post() requires a callback function but got a [object Undefined]
오류가 발생하는 원인은 router.post()
메서드에 콜백 함수 대신 정의되지 않은 객체가 전달되었기 때문입니다. 이는 일반적으로 해당 경로에 대한 미들웨어 또는 핸들러 함수가 제대로 정의되지 않았거나, 임포트하는 과정에서 문제가 발생했을 때 나타납니다.
유사한 문제에 대해 논의된 기존 글들을 참고하여 문제해결 방향을 제시해드리겠습니다.
문제의 원인이 되는 auth.js
파일의 router.post()
부분에서 어떤 함수나 미들웨어를 사용하려 했는지 확인해보세요. 모든 미들웨어와 콜백 함수가 올바르게 정의되고, 임포트되었는지 확인이 필요합니다.
“router.post()오류 질문입니다.” 글에서는 비슷한 오류와 그 해결 과정에 대해 논의되었습니다. 특히, 에러 메시지가 나타나게 하는 함수나 객체가 undefined
로 나오는 경우, 해당 함수나 객체가 정의되지 않았거나 올바른 경로로 임포트되지 않았을 가능성이 높습니다. 이 글에서는 에러가 나는 특정 부분에 대해 재검토를 권장하고 있습니다.
“router.post질문“에서는 router.post
와 관련된 오류 및 그 해결법에 대해 언급되었습니다. 올바른 함수가 전달되었는지, 또는 누락된 부분이 없는지 확인하는 과정이 중요할 것입니다.
오류 해결을 위해, 해당 행에서 사용하려던 콜백 함수나 미들웨어가 정의된 파일을 세심하게 검토해보시기 바랍니다. 또한, 필요한 모든 미들웨어가 올바르게 설치되었고, require
구문을 통해 정확하게 불러와지는지 확인할 필요가 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.