Node.js
와Express
에서 자주 사용되는 템플릿 엔진이다.
ejs는 기존의 HTML 문법에 한해서 <% %>를 사용하여 크게 벗어나지 않아
쉽게 서버의 데이터를 사용하거나 코드를 실행할 수 있는 장점을 가진다
- 주석 : <%# ... %>
- JS 코드 : <% ... %>
- 변수 출력 : <%= ... %>
- 태그 내부 공백 제거 : <% ... %>
- HTML escape 안하고 변수 출력 : <%- ... %>
const ejs = require("ejs");
ejs.render(경로, 데이터, 옵션);
app.js
app.set('view engine', 'ejs');
처리할 라우터
const data = { title : 'ejs init', message: 'Hello World' };
res.render('index.ejs', data);
<% JavaScript Code %> <% for(i=0; i < num.length; i++) { %> // <%= 변수 %> <%=i+1 %> <a href='/board/<%= board[i]._id%>'>
<%-include('경로입력')%>
경로 = header or footer 등
페이지 내 반복되는 header나 footer등의 코드는 include를 사용하면
간편하게 레이아웃 작업을 할 수 있다.
<header>
<% include ./header %>
</header>
<body>
<p>Welcome to templating using EJS</p>
</body>
<footer>
<% include ./footer %>
</footer>