伊谢尔伦2017-04-17 16:05:33
템플릿의 접미사를 html
으로 변경했을 때 페이지에 액세스할 때 오류가 보고되었습니다. 접미사 구성이 잘못된 것이 분명했습니다.
Could not render view
코드를 검색해서 추가 노드view
를 찾았습니다. 이때 전문 검색을 하기 위해 defaultEngine
라는 키워드를 찾아 위치를 찾았습니다.
위 코드에 따르면, default Engine
의 구성에서 view engine
을 얻었다는 의미입니다. 그럼 계속해서 검색해 볼까요 view engine
. 다음 코드를 찾으세요:
위 코드를 보면 view engine
이 실제로는 sails.config.view.engine.ext
의 구성이며 구성 파일 경로와 동일하다는 것을 알 수 있습니다.
이때 이 코드에 중단점을 넣습니다
으아아아그런데 놀라운 일이 일어났습니다
으아아아 해당 구성인 것 같은데, 이 파일을 열어보니 engine
내부가 이렇게
이런! , 상황은 무엇이며 형식이 잘못된 이유는 무엇입니까? 나는 그것이 json 문자열일 것이라고 생각했습니다.
그런 다음 대담하게 조정하세요
으아아아올바른 구성 변경을 위해 다시 내보내기
으아아아이때, 자신감있게 다시 시작하고 페이지를 새로고침했는데 또 오류가 발견되었습니다! ! ! ! 뭐야
으아아아오류 보고서가 변경되어 지금 수정한 내용이 확실히 효과적임을 나타냅니다. 그러다 이때 헤더 접미사 이름을 다시 ejs
로 변경했더니 프런트 엔드 페이지가 정상적으로 나오는 것을 확인했습니다. 이 header
파일을 불러오면 접미사 이름이 프로그램에 쓰여지는 것 같습니다.
남은 과정은 어디가 문제인지 파악하고, 오류 리포트 실행 순서에 따라 어디가 문제인지 알아내는 것!
으아아아 위 코드를 찾아보니 경로 변수에 문제가 있어서 찾을 수 없는 것을 발견했습니다. name
및 filename
이번에 방법을 찾았습니다resolveInclude
보세요, 이 장소가 접합되었다는 뜻이지만 extname
가 비어 있을 때만 접합된다는 뜻입니다. 즉, 여기서 name
는 전달될 때 접미사 이름을 포함하지 않는다는 뜻입니다! ! ! !
이것을 보고 기본적으로 layout.html
템플릿에서 include
명령이 header
그래서 여기 header
를 header.html
로 변경하고 다시 방문하시면 정상적으로 됩니다.