이 가장 잘 동작하는 경우는 뷰가 레이아웃 안의 요소에 딱 맞는 경우입니다. 하지만 뷰를 레이
아웃의 다른 부분에 끼워넣어야 할 때는 어떨까요? 비슷한 예를 들자면 뷰에서
<
head
>
요소에
무언가를 삽입해야 한다거나
<
script
>
요소를 추가해야 하는 경우입니다. 둘 다 성능에 악영
향을 끼치므로 레이아웃에서는 마지막까지 미뤄야 합니다.
핸들바와
express
-
handlebars
도 이 동작을 자체적으로 지원하지는 않습니다. 다행히 핸들
바 헬퍼로 쉽게 하는 방법이 있습니다. 핸들바 객체의 인스턴스를 만들 때
section
이라는 헬
퍼를 만듭니다(
ch07
/
meadowlark
.
js
).
app.engine(‘handlebars’, expressHandlebars({
defaultLayout: ‘main’,
helpers: {
section: function(name, options) {
if(!this._sections) this._sections = {}
this._sections[name] = options.fn(this)
return null
},
},
}))
이제 뷰에서
section
헬퍼를 사용할 수 있습니다. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.