티스토리 뷰

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에서 날짜를 한글화 처리하는 예제입니다.


functiuon.js
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



댓글