Node.js에는 View Engine이라는 시스템이 있다.
뷰엔진은 서버에서 처리한 데이터 결과값을 정적인 페이지(HTML 파일)에 보다 편리하게 출력해주기 위해 사용한다. 뷰엔진에서 요구하는 형태로 템플릿 파일(문서)을 만들고, 해당 템플릿 문서에 서버에서 처리한 데이터를 전달하면 해당 데이터를 화면에 출력할 수 있다.
백엔드 로직을 작성하는 자바스크립트 파일 안에 HTML코드를 작성하지 않아도 되므로, 좀 더 MVC 패턴에 맞게 개발을 진행할 수 있도록 도와준다. 또한 뷰엔진에서 요구하는 문법에 맞춰 코드를 작성하면 뷰엔진이 자동으로 html 파일로 렌더링해주기 때문에 HTML파일보다 좀 더 간결하고 구조 분석이 쉬운 형태로 코드를 작성할 수 있다. 물론 뷰엔진에서 사용되는 각종 문법은 각 엔진별로 별도로 공부해야 한다.
Nunjucks, EJS, PUG
embedded javascript template의 약자로 node.js 에서 사용하는 View Engine 이다.
쉽게 말하면 자바스크립트가 내장되어 있는 html 파일 이다. 그리고 서버에서 보낸 변수를 가져와 사용할 수 있으며 자바스크립트 내용을 삽입할 수 있다. 그래서 HTML 에 익숙한 사람이라면 ejs 가 더 편하다고 한다, Django Template랑 똑같은 기능을 하는 엔진 이라는데 나는 Django를 들어보기만하고 사용해본적이 없어서 먼지 모름