Express가 템플릿 파일을 렌더링할 수 있도록 하려면 애플리케이션에서 다음 설정을 지정해야 합니다.
views, 템플릿 파일이 배치되는 디렉터리(예: app.set('views', './views')
뷰 엔진, 템플릿 엔진(예: app.set('view Engine', 'jade')
그런 다음 해당 템플릿 엔진 npm 패키지를 설치합니다.
$ npm install jade --save
Jade와 같은 Express와 호환되는 템플릿 엔진은 res.render()를 통해 내보낸 메서드 __express(filePath, options, callback)를 호출하여 템플릿을 렌더링합니다.
일부 템플릿 엔진은 이 규칙을 따르지 않습니다. Consolidate.js는 Node에서 널리 사용되는 모든 템플릿 엔진을 이 규칙에 매핑하여 Express와 원활하게 연결할 수 있습니다.
뷰 엔진이 성공적으로 설정되면 명시적으로 엔진을 지정하거나 애플리케이션에서 템플릿 엔진 모듈을 로드할 필요가 없으며 아래와 같이 Express가 이미 내부에 로드되어 있습니다.
app.set('view engine', 'jade');
view 디렉토리에 다음 콘텐츠가 포함된 index.jade라는 Jade 템플릿 파일을 생성합니다.
html head title!= title body h1!= message
그런 다음 경로 렌더링 index.jade 파일을 만듭니다. 뷰 엔진이 설정되지 않은 경우 뷰 파일 접미사를 지정해야 합니다. 그렇지 않으면 누락됩니다.
app.get('/', function (req, res) { res.render('index', { title: 'Hey', message: 'Hello there!'}); });
이때 홈페이지에 요청을 보내면 "index.jade"가 HTML로 렌더링됩니다.