node.js express에서 template engine 으로 handlebars를 사용하기로 하면서 몇가지 알게 된것을 정리 해본다.


  • - layout 기능

template engine 중에 그나마 html 태그를 그대로 쓰는것중에 ejs 하고 handlebars가 있었다. 사람들이 가장 많이 이야기 하게 handlebars 라서 사용 하였는데 대쉬보드 형태의 페이지를 만든다면 layout 기능이 지원하는 handlebars 가 편한거 같다. ejs도 확장 기능으로 layout 지원하는거 같은데 아직은 뭔가 한참 만들고 있는느낌이라 패스..


  • - 거지 같은 조건 비교문 #if #unless

#if #unless 로는 true / false 밖에 사용이 안된다. 그래서 따로 helper를 이용해서 조건문 연산자를 만들어 사용 하는거 같다. 아래 주소는 사용 방법이니 참고를...


[Javascript] handlebars.js {{#if}} 조건부의 논리 연산자


안에 페이지 보면 Handlebars.registerHelper() 요렇게 되어있는데 메인페이지에 선언해 뒤면 되고 앞에 Handlebars 는 var Handlebars = require('hbs') 해서 가지고 오면 된다.


  • - 색션 내에서 다른 루트 변수에 접근 할때 확인

{
    main :  { name: '나 메인'},
    sub : { name: '나 서브'}
}

이런 값을 넘겨서
아래와 같이 템플릿으로 사용 할경우

{{#main}}
    {{name}} <- 이것은 main의 값
   
    // 여기서 sun 의 name 값을 가지고 올려면
    {{../sub/name}} <- 요렇게 해야 sub의 name값을 가지고옴
{{/main}}


처음에는 ../이거 없이 했는데 값이 undefined 해서 나와서 환장 했음..

이 사이트가 아니였음 눙물 흘리고 계속 삽질 할뻔 했음.. https://taegon.kim/archives/4910

올려주신분에게 감사의 마음을...









  

by 널부러 2018. 8. 11. 02:14