피드로 돌아가기
22. EJS (Embedded JavaScript)
Dev.toDev.to
Backend

Node.js 기반 Dynamic HTML 생성을 위한 EJS Templating Engine 설계

22. EJS (Embedded JavaScript)

avery2026년 4월 30일1beginner

Context

정적 HTML 파일의 반복적 송신으로 인한 데이터 업데이트 효율 저하 발생. 서버 사이드에서 실시간 데이터를 바인딩하여 HTML을 동적으로 생성하는 구조적 필요성 대두.

Technical Solution

  • Separation of Concerns 원칙에 따른 Frontend HTML과 Backend JavaScript의 역할 분리 구조 설계
  • 서버 사이드 렌더링을 통한 Dynamic HTML 생성 및 클라이언트로의 최종 결과물 송신 로직 구현
  • Partial 시스템을 통한 Header, Footer 등 공통 컴포넌트의 모듈화 및 코드 중복 제거
  • Tag-based Syntax(<%=, <%>)를 활용한 JavaScript 로직의 HTML 내 직접 삽입 및 실행 환경 구축
  • Express res.render() 메서드를 통한 서버-템플릿 간의 데이터 바인딩 인터페이스 구현

1. 반복되는 UI 요소는 Partials로 분리하여 유지보수 효율성을 확보했는가

2. HTML 내 raw HTML 렌더링 시 <%- 태그 사용에 따른 보안 취약점을 검토했는가

3. 서버에서 템플릿으로 전달하는 데이터의 기본값(Default value) 처리 로직을 설계했는가

원문 읽기