Developer
[nodejs] ejs에서 nodejs function 사용
rocksea
2013. 7. 1. 10:50
EJS는 Embedded JavaScript templates for node 의 약자로
Nodejs에서 사용하는 Template엔진중 하나입니다.
EJS의 특징을 살펴보면 이러한 것들이 있습니다.
- Complies with the Express view system
- Static caching of intermediate JavaScript
- Unbuffered code for conditionals etc <% code %>
- Escapes html by default with <%= code %>
- Unescaped buffering with <%- code %>
- Supports tag customization
- Filter support for designer-friendly templates
- Includes
- Client-side support
- Newline slurping with <% code -%> or <% -%> or <%= code -%> or <%- code -%>
EJS는 컴파일 된 상태이므로 엔간한건 서버에서보다 html단에서 처리하시는게 좋습니다.
EJS에서 날짜를 한글화 처리하는 예제입니다.
var ejs = require('ejs');< /** * [EJS Filter : getContentCreateDateTime] * @param {string} content [] * @return {string} [] */ ejs.filters.getContentCreateDateTime = function(date){ if (date === undefined || date == null) { return null; } var result = ''; if (date.days > 0) { result = date.days + '일 전'; } else if (date.hours > 0) { result = date.hours + '시간 전'; } else if (date.minutes > 0) { result = date.minutes + '분 전'; } else if (date.seconds > 0) { result = date.seconds + '초 전'; } else { result = '지금 막'; } return result; }
content.ejs
<html> <header>blabla</header> <body> <%=:contents.last_time | getContentCreateDateTime %> </body> </html>
위와같이 ejs에서 함수를 사용할 수 있습니다.
이외에 더 많은 것을 확인해 보시려면 https://github.com/visionmedia/ejs 참조하시면 됩니다.
이상으로 ejs관련 포스팅을 마치겠습니다.
.by rocksea