Node.js

Node.js - ejs

J-non 2024. 6. 30. 20:35

<목차>

1. ejs란?

2. 사용법

 


 

1. ejs란?

ejs는 Embedded JavaScript Template의 약어로 서버사이드 템플릿 엔진이다.

html 파일과의 차이점은 script 태그 내부가 아닌 body 태그 내부에서 javascript 문법을 사용할 수 있다는 것.

 

템플릿 엔진이란?

지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어다. 쉽게 말해, 웹 애플리케이션에서 동적으로 HTML 페이지를 표시하기 위한 도구 중 하나라고 보면 된다.

 

 

ejs문법

<% %> : 자바스크립트의 코드가 들어가는 태그, 줄 바꿈이 생길 시 새로운 <% %>가 필요하다.

<% for(let i = 0; i < 5; i++) { %>
    <span>5번 반복</span>
<% } %>

 

<%= %> : 안에 들어있는 변수 값을 옮겨주는 태그

<% for(let i = 0; i < 5; i++) { %>
    <span><%= i + 1 %>번째 실행</span>
<% } %>

 


 

2. 사용법

express 환경에서 ejs를 사용하는 간단한 예시를 들어보자.

우선, ejs를 사용하기 위해 외부 노드 모듈인 express와 ejs를 설치해야 한다.

npm i express
npm i ejs

 

 

설치가 완료되었다면 express의 set메서드를 통해 사용할 view engine을 ejs로 설정하고, ejs파일 디렉터리 경로를 설정해줘야 한다.

const express = require("express");
const app = express();

// view engine을 ejs로 설정
app.set("view engine", "ejs");

// ejs 파일 디렉터리 경로 설정
app.set("views", "ejs파일 디렉터리 경로");

app.get("/", (req, res) => {
    res.render("ejs파일명", { 전달할 data });
});

// 예시

const dataArr = [{a: 1, b: 2}, {a: 2, b: 3}];

app.get("/", (req, res) => {
    res.render("ex", { dataArr });
});

 

<!-- ejs 예시 -->
<body>
    <% dataArr.forEach((el) => { %>
        a : <%= el.a %>, b : <%= el.b %>
    <% } %>
<body>