노마드코더 줌 클론코딩을 듣는데 pug라는 걸 사용한다.
pug는 자바스크립트를 사용하여 HTML을 렌더링할 수 있게 하는 템플릿 엔진 중 하나
따라서, 기존 html 문법과 다르고 자바스크립트 문법이 들어가기도 함
pug는 파일을 렌더링하여 html로 변환한 뒤 내부의 javascript(없을 수도 있음)를 실행하여 텍스트로 바꾼 후 유저 UI를 형성한다.
npm i pub
app.set("view engine", "pug")
app.set("views", __dirname + "/views")
index.pug
등과 같이 사용<p> 라면에 밥 말아서 먹고 싶다 </p>
이렇게 쓰는 것을 p 라면에 밥 말아서 먹고 싶다
처럼 쓸 수 있다.3가지 장점
<예시>
// base.pug
doctype html
html(lang="ko")
head
title 제목입니다
link(...)
body
main
block content
script
// main.pug
extends base
block content
h1 hello world!
<예시>
// footer.pug
footer © #{new Date().getFullYear()} Wow!
// base.pug
doctype html
html(lang="ko")
head
title 제목입니다
link(...)
body
main
block content
include footer <====== 이렇게 첨부
script
// video.pug
mixin video(info)
a(href=`/videos/${info.id}`).video_mixin
div.video_mixin_data
span.video_mixin_title=info.title
div.video_mixin_meta
span #{info.owner.name} ▪
span #{info.meta.views} 회
// main.pug
include mixins/video
extends base
block content
div
each video in videos
+video(video) <==== 이렇게
노마드코더에서는 렌더링 방법이 다양한데 그 중에서 pug를 사용한 이유가 무엇인가요?