본문 바로가기

Youtube Clone/ExpressJS

Fake DB and Mixin

  • Home에 책의 정보를 표현해본다.
  • 그러나 아직 책 데이터가 없기 때문에 가상의 DB를 만들어서 테스트한다.
    • db.js를 만들어 책의 정보를 가상으로 만든다.

db.js

  • globalControllers.js에서 db.js를 불러오고, home.pug를 불러올 때 fake db인 books를 함께 넣어준다.

globalControllers.js

  • home.pug에서 books db에서 책을 하나씩 불러낸다.
    • 아래와 같은 방법으로 books db의 책을 한 권씩 불러올 때마다 block을 추가한다.
  • 책의 정보를 표현하는 것은 책마다 동일하므로, 불필요한 반복을 줄이기 위해 mixin을 사용한다.
    • mixin은 partial처럼 코드를 분리하는 방법인데, partial과는 다르게 인자가 있다. 
    • mixins/bookBlock.pug를 만들어 반복되는 내용을 담는다. 
    • 이때 표시하고 싶은 정보들을 object형식으로 전달한다.

home.pug

  • bookBlock.pug는 전달받은 인자들로 book object를 만들고, 이를 활용해 정보를 표시한다. 
    • cover는 이미지이므로 img 태그를 이용한다.

bookBlock.pug

  • 무엇이든 검색하면 책 리스트가 나오도록 위와 같은 방법으로 search도 수정했다.

'Youtube Clone > ExpressJS' 카테고리의 다른 글

GET/POST and ID  (0) 2019.09.18
Books  (0) 2019.09.18
Pages - Join, Login, Edit profile, Search  (0) 2019.09.18
Checklist  (0) 2019.09.18
Local2Global  (0) 2019.09.18