본문 바로가기

코딩/Today I Learn

11/20 공부정리

728x90

videoRouter.get("/upload", upload);

videoRouter.get("/:potato", see);

라우터 파라미터 :URL 안에 변수를 포함시킬 수 있게 해줌

req.params.potato

videoRouter.get("/:id", see);

req.params.id로 접근가능 

 

 

Express Routing 

regular expression 정규표현식

app.get('ab*cd', funtion)  * 무엇이든 아무거나

'ab+cd' + b가 얼마나 많은지 상관x

'ab?cd' ?  b optinal

'ab(cd)?e'  ()? optional group  cd optional

:id(//d+) 숫자로 

 

Pug - template Engine 탬플릿을 이용해 뷰 만드는 것을 도와줌

1. Pug 설치 //npm i pug

2. pug  설정 cofing /뷰엔진으로 퍼그 사용을 익스프레스에게 선언

   app. set("view engine", "pug")

3. 실제로 pug 파일 생성 

 

Express와 함께 템플리트 엔진을 사용
Express가 템플리트를 렌더링하려면 다음과 같은 애플리케이션 설정이 필요합니다.
views, 템플리트가 있는 디렉토리. 예: app.set('views', './views')
view engine, 사용할 템플리트 엔진. 예: app.set('view engine', 'pug')
https://expressjs.com/ko/guide/using-template-engines.html

Application Settings (Express어플리케이션 설정)
https://expressjs.com/ko/4x/api.html#app.use

 

express가 뷰를 찾는 기본값 

process. cwd( ) + '/views'

current working directory의 view폴더 !

cwd  서버를 가동하는 위치이다.(package.json: node.js 실행하는 파일)

 

-->

 app.set("view engine","pug")

 app.set("views", process.cwd() +"/src/views");

 

src--> view폴더 생성

video Controller파일 내  

export const trending (req,res) => res.render("home"); //home.pug파일

 

server.js에서 app.set("view engine","pug")로 지정했고

express가 자동으로 /views디렉토리로 가기 때문에  따로 import 할 필요 없음 

 

pug에서 자바스크립트 이용하거나 변수 사용하는 법#{}

footer © #{new Date().getFullYear()}

 

중복되는 것 한 파일로 업데이트

partial폴더

include partial /footer.pug

 

 

퍼그의 장점: 1.깔끔한html작성, 2. 자바스크립트 html에 적용가능 3반복x 한파일로 업데이트 partial

 

template inheritance 템플릿 상속

:layout의 베이스 html 베이스 만들어 줌

base파일 만들고 다른파일에서 extends base.pug

 

block : base의 창문같은 개념

base파일에 body

                 bock content

사용하는 파일에  block content

                         h1 home!

이것을 render하는 곳 controller 

#{pageTitle}

두가지인수 view이름, 템플릿에 보낸 변수 

res.render("home", {pageTitle: "home"}) 템플릿렌더링 // template 파일 String으로 작성해야 함

 

express ->rendering -> user 유저는 렌더링된 html파일만 보게 됨 

'코딩 > Today I Learn' 카테고리의 다른 글

11/25 공부  (0) 2021.11.25
11/24공부  (0) 2021.11.24
11/23공부  (0) 2021.11.23
11/16공부정리  (0) 2021.11.17
11/15 공부정리  (0) 2021.11.15