Error: Failed to lookup view "upload" in views directory "C:\Users\~~~/src/views"

iiingkeep·2024년 5월 8일

Errors

목록 보기
1/6

발생 에러: Error: Failed to lookup view "upload" in views directory "C:\Users~~~/src/views"


상황: 동영상 업로드 페이지를 만들기 위해 router와 controller, view를 설정하는 연습을 하던 중 생긴 에러.


videoController.js

export const getUpload = (req,res) => {
  return res.render('upload');
}
export const postUpload = (req,res) => {
  return res.redirect('/');
}

videoRouter.js

videoRouter.route('/upload').get(getUpload).post(postUpload);

위와 같이 컨트롤러와 라우터 코드를 작성 한 뒤 localhost:4000/videos/upload 페이지로 접속하니 에러 발생. 내용은 다음과 같다.

Error: Failed to lookup view "upload" in views directory

에러를 보니 views directory에서 upload 뷰를 찾을 수 없다고 나온다.
upload와 관련한 컨트롤러와 라우터만 만들어놓고 뷰 템플릿 생성을 하지 않아 나온 에러이다.
컨트롤러에서 upload파일을 render하도록 했으니 뷰 템플릿 폴더로 설정해놓은 views 폴더에 upload.pug(나는 view engine으로 pug를 사용중이다) 파일을 새로 생성해준다.

views폴더구조

upload.pug

extends base

block content 
  h3 Hello from upload

파일 생성 후 코드 몇 줄 적어준 뒤 다시 새로고침 해 보면 페이지가 잘 나오는 것을 확인 할 수 있다.

upload.pug 렌더링

원인: 뷰 템플릿 생성을 하지 않은 채로 렌더링

해결: 렌더링 할 템플릿의 이름으로 뷰 템플릿을 생성

profile
혁신적인 백엔드 개발자가 되고자, 기록✏️

0개의 댓글