Node.js/개념 정리

Node.js - ejs에 대하여

하눤석 2022. 1. 19. 12:56
728x90

ejs란?

강의를 통해 node.js를 공부하고 있는데 html 문서를 ejs라는 확장자에 담아 사용하더라. ejs가 뭔지도 모르고 html이랑 비슷한 역할을 하나보다~ 하고 넘어갔었는데 이번 기회에 정리를 해 보려고 한다.

  • ejs는 embedded javascript template의 약자로 (왜 ejt가 아닌 ejs인지는 모르겠다.) node.js에서 사용하는 템플릿 뷰 엔진이다. 가장 큰 특징은 쉬운 문법으로 html내에서 인자로 넘겨받은 변수를 사용할 수 있다는 것인데, 지금 보니 예전에 사용해보았던 Django의 {% ~ %}로 사용되는 Django Template랑 똑같은 기능을 하는 엔진이었다. 일단 사용해본 적이 있으니 이해하기는 쉬울 것 같다. 

 

  • ejs는 기존의 HTML 문법에 <% %>를 사용하여 기존 문법에 크게 벗어나지 않아 더욱 쉽게 서버의 데이터를 사용하거나 코드를 실행할 수 있는 장점이 있다고 한다.

ejs기본 문법

  • ejs 기본 문법은 다음과 같다.
주석 : <%# ... %>
JS 코드 : <% ... %>
변수 출력(html escape 처리: >를 $gt로 변환) : <%= ... %>
태그내부 공백 제거 : <%_ ... _%>
html escape안하고 변수 출력 : <%- ... %>

node.js와 연동하는 방법

  • 3-1. express 없이 연동하기 
const ejs = require("ejs"); ejs.render(경로, 데이터, 옵션);

 

 

  • 3-2. express 에서 연동하기
app.js 에서 app.set('view engine', 'ejs');

 

  • 처리하는 라우터에서 아래와 같은 로직이 있으면 된다.
    const data = {
        title: 'ejs init',
        message: 'Hello World'
    };
    res.render('index.ejs', data);
320x100