반응형
템플릿 엔진의 필요성
html을 컨트롤하기 위해 여러 템플릿엔진들이 있습니다. 템플릿엔진을 사용하면 서버에서 온 데이터들을 조금 더 쉽게 다룰 수 잇다는 장점이 있습니다.
- 대부분의 템플릿엔진은 html에 비해 문법이 간단하여 코드량을 줄일 수 있습니다.
- 데이터만 바뀌는 경우가 굉장히 많으므로 재사용성을 높일 수 있습니다.
- 유지 보수에 용이합니다.
템플릿엔진에는 Server Side Template Engine과 Client Side Template Engine 이 있습니다.
- Server Side Template Engine
서버에서 미리 정의된 Template에 넣어 html을 그려서 클라이언트에 전달하는 방식입니다.
동적으로 생성되는 부분만 템플릿에 소스 코드를 끼워넣는 방식으로 동작합니다.
자스크립트의 템플릿엔진으로는 ejs나 pug등이 이 경우에 속합니다.
전에 배운 jinja2도 여기에 속합니다.
- Client Side Template Engine
html 형태로 코드를 작성할 수 있으며 동적으로 DOM을 그리게 해주는 역할 입니다. 즉, 데이터를 받아서 DOM객체에 동적으로 그려주는 프로세스를 담당합니다.
mustache가 여기에 속합니다.
장점: 앱처럼 사용할 수 있다(웹앱), 서버와 통신하지 않아서 화면 전환이 빠릅니다.
단점: 처음 가져오는 파일이 많다보니 첫 화면을 띄울 때 비교적 오래 걸립니다.
템플릿엔진을 사용하는 것이 장점이 분명하지만 또 다른 문법을 배워야한다는 점은 생산성 측면에서 단점이 될 수도 있다고 생각합니다.
반응형
'Node.js' 카테고리의 다른 글
[NodeJS] require() 함수 동작원리 (0) | 2022.04.13 |
---|---|
[Sequelize] TypeError: require(...) is not a function (0) | 2022.01.10 |
[Node.js] 동기와 비동기, 블로킹과 논블로킹 (0) | 2021.12.11 |
[Node.js] Stream이란?? (0) | 2021.08.12 |