My Boundary As Much As I Experienced

ejs 템플릿 엔진 사용하기 본문

BackEnd/Node.js

ejs 템플릿 엔진 사용하기

Bumang 2024. 7. 8. 10:36

EJS란?

EJS (Embedded JavaScript Templating)은 JavaScript 코드에서 HTML을 생성할 수 있게 해주는 템플릿 엔진이다. Express와 같은 Node.js 애플리케이션에서 자주 사용된다. EJS를 사용하여 서버에서 HTML을 렌더링하는 방법을 단계별로 설명해보겠다.

 

1. 필요한 패키지 설치

npm install ejs

 

 

2. Express 설정

// app.js 또는 index.js 파일 생성

const express = require('express');
const app = express();
const path = require('path');

// EJS를 템플릿 엔진으로 설정
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));

// 기본 라우트 설정
app.get('/', (req, res) => {
    // 리터럴 템플릿처럼 조건적으로 바뀌어야하는 변수를 객체로 주입한다.
    res.render('index', { title: 'My EJS App', message: 'Hello, world!' });
});

// 서버 시작
const port = 3000;
app.listen(port, () => {
    console.log(`Server is running on http://localhost:${port}`);
});

 

 

3. views 폴더 만들고 ejs 파일들을 보관

 

 

4. <%=  변수 %>에 동적인 값을 할당할 수 있다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><%= title %></title>
</head>
<body>
    <h1><%= message %></h1>
    <p>This is ejs template</p>
</body>
</html>

 

 

4. <%=  변수 %>는 반복문으로 쓸 수 있다.

"" 안에서도 쓸 수 있다. a태그에 동적으로 패러미터 주입하는 것에 주목.

      <div class="white-bg">
        <% for (var i = 0; i < doc.length; i++){ %>
        <a href="/detail/<%= doc[i]._id %>">
          <div class="list-box">
            <h4><%= doc[i].title %></h4>
            <p><%= doc[i].content %></p>
          </div>
        </a>
        <% } %>
      </div>