views - pug 기초
by devluvpillow
참고 자료
Nomad Coders의 Youtube clone 강의를 참고하였습니다.
1. pug의 장점
- 반복되는 코드의 재사용이 가능하다 (partial, extend 기능)
- 코드가 간결하고 깔끔하다 (작성 속도 up!)
2. node.js 프로젝트에 pug 적용하기
우선 퍼그를 intall 한 후 server.js에 아래 설정을 해준다.
server.js (express 기준)
app.set("view engine", "pug"); // View engine으로 pug를 사용하겠다.
app.set("views", process.cwd() + "/src/views"); // view파일이 있는 경로를 알려준다.
3. pug에서 html에 변수 넣기
변수는 #{}안에 넣어준다.
footer.pug
footer © #{new Date().getFullYear()} Wetube
4. partials include 하는 법
여러 화면에서 중복으로 사용되는 요소들은 partial로 만들어 필요할 때 include 해주면 편리하다.
home.pug
doctype html
html(lang="ko")
head
title Wetube
body
h1 Watch Video!
include partials/footer.pug // footer.pug를 include해주었다. 이때 include되어 home.pug에서 부분적으로 사용되는 footer를 partial이라고 한다.
5. templete 만드는 꿀 기능 - extend와 block
템플릿을 만들어두고 그것을 extend 하여 사용하면 반복되는 작업을 피할 수 있다.
base.pug (= 템플릿으로 사용할 html)
doctype html
html(lang="ko")
head
block head // 이 위치에 원하는 내용을 담을 수 있도록 block을 넣어주었다
body
block content // 222
include partials/footer.pug
home.pug
extends base.pug
block head // base.pug의 block 부분에 아래 내용이 들어가게 된다
title Edit | Wetube
block content // 22222
h1 Edit Video
6. pug 템플릿 화면에 출력하기 & 변수 전달하기
컨트롤러에서 res.render로 화면을 렌더해준다.
res.render(“불러올 view파일 이름”, {전달할 변수})
videoController.pug
export const trending = (req, res) => res.render("home", { pageTitle: "Home" });
Subscribe via RSS