1. Handlebars
Handlebars
JS์ ํ ํ๋ฆฟ ์์ง์ค ํ๋.
ํ ํ๋ฆฟ ์์ง์ด๋ผ ํ๋ฉด, ํ๋ก๊ทธ๋จ ๋ก์ง๊ณผ ํ๋ ์ ํ ์ด์ ๊ณ์ธต ๋ถ๋ฆฌ ์๋จ.
mustache ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํํ ํ ํ๋ฆฟ ์ธ์.
mustache(์ฝง์์ผ๋ชจ์์ ) Bracket์ ์ด์ฉํ์ฌ data ํํํ๋ ๊ฒ.
htmlํ์ด์ง์์ HTML + Bracket์ ๊ตฌ์ฑ์ผ๋ก ๋์์ด๋์ ๊ฐ๋ฐ์๊ฐ ํ์ ํ ๋, ๋์์ด๋์๊ฒ ์ดํดํ๊ธฐ ์ฌ์ด ๊ตฌ์กฐ๋ก ํ์ ์ ๋์์ด ๋๋ค.
ํ์ฅ์(.hbs)๋ฅผ ๊ฐ์ง๊ณ ์ปดํ์ผ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
ํ ํ๋ฆฟ ์์ง
ํ ํ๋ฆฟ ์์๊ณผ ํน์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ฐ๋ฅธ ์ ๋ ฅ์๋ฃ๋ฅผ ๊ฒฐํฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฌธ์๋ฅผ ์ถ๋ ฅํ๋ ์ํํธ์จ์ด
๊ทธ ์ค, ์น ํฌํ๋ฆฟ ์์ง์ด๋ ์น๋ฌธ์๊ฐ ์ถ๋ ฅ๋๋ ์์ง์ ๋งํ๋ค.
Web Template / Database(Model) => Template Engine(Compile) => Web document (View)
view Code(html) ๊ณผ data logic code(db connection)์ ๋ถ๋ฆฌํด์ฃผ๋ ๊ธฐ๋ฅ
ํ ์คํธ ํ ํ๋ฆฟ ์์ง
ํ ํ๋ฆฟ ์์์ ์ ์ ํ ํน์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ๊ฒฐ๊ณผ๋ฌธ์ ์ถ๋ ฅ
Thymeleaf, JSP,...
์๋ฒ ์ฌ์ด๋ ํ ํ๋ฆฟ ์์ง(Server Side Template Engine)
์ญํ :์๋ฒ์์ DB๋ API์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์๋ Template์ ๋ฃ์ด html์ ๊ทธ๋ ค, ํด๋ผ์ด์ธํธ์ ์ ๋ฌ.
HTML์์ ๊ณ ์ ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ถ๋ถ์ template๋ก ๋ง๋ค๊ณ ๋์ ์ผ๋ก ์์ฑ๋๋ ๋ถ๋ถ๋ง ํ ํ๋ฆฟ์ ์์ค์ฝ๋ ๋ฃ๋๋ฐฉ์
์(js): Handlebars, EJS, Jade,...
ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ํ ํ๋ฆฟ ์์ง(Client Side Template Engine)
์ญํ : ๋์ ์ผ๋ก DOM์ ๊ทธ๋ฆฌ๊ฒ ํ๋ ์ญํ
๋ฐ์ดํฐ๋ฅผ ๋ฐ์์, DOM ๊ฐ์ฒด์ ๋์ ์ผ๋ก ๊ทธ๋ ค์ฃผ๋ ํ๋ก์ธ์ค ๋ด๋น
์๋ฅผ ๋ค์ด, ๊ณตํต์ ์ธ ํ๋ ์์ ๋ฏธ๋ฆฌ ์ ์ํ ๊ฒ์ template์ด๋ผ๊ณ ํ๋ค.
scriptํ์ ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ ์ฌ์ฉ
ํ์์ฑ
HTML DOM์ด ๋ค ๊ทธ๋ ค์ง ๋ค, ์๋ฒ ํต์ ์์ด ํ๋ฉด๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ.
๋จ์ผ ํ๋ฉด์์ ํน์ ์ด๋ฒคํธ์ ๋ฐ๋ผ ํ๋ฉด์ด ๊ณ์ ๋ณ๊ฒฝ๋์ด์ผํ๋ ๊ฒฝ์ฐ.
์: Handlebars, Mustache, ...
๊ณผ์
ํด๋ผ์ด์ธํธ์์ ๊ณตํต์ ์ธ ํ๋ ์(template) ๊ฐ๋ฐ
์๋ฒ์์ ํ์ํ ๋ฐ์ดํฐ ์์ฒญ
๋ฐ์ดํฐ๋ฅผ template์ ์ ์ ํ ์์น์ ๋์ฒดํ ํ DOM๊ฐ์ฒด์ ๋์ ์ผ๋ก ์ ๋ฌ
ํ์์ฑ
HTML์ ๋นํด ๊ฐ๋จํ ๋ฌธ๋ฒ์ ์ฌ์ฉํ์ฌ ์ฝ๋๋์ ์ค์
๋ฐ์ดํฐ๋ง ๋ฐ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ฌ์ฌ์ฉ์ฑ์ด ๋์์ง
์ ์ง๋ณด์ ์ฉ์ด
์ค์ต
handlebars ๋ชจ๋์ค์น
.hbs ํ์ฅ์๋ฅผ ์ฝ์ ์ ์๋๋ก handlebars-loader์ค์น ํ, loader์ ์ค์
์ต์ ์์ด ์ฌ์ฉ์
plugin
HtmlWebpackPlugin์ผ๋ก Data๋ฅผ ์ ๋ฌํ๊ฒ ๋ ๋ plugin์ค์
์์๊ฐ์ด ์ค์ ์, ๋ฐ์ดํฐ๊ฐ hbs์ชฝ์์ ์๋์ ๊ฐ์ด ์์ฑํด์ title๊ฐ์ ๋ฐ์์ฌ ์ ์๋ค.
template.hbs์ ์๋ ์์ฑ
build(bundle) ๊ฒฐ๊ณผ ํ์ธํ๊ธฐ
meta ํ๊ทธ๋ ์์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ฉํด๋ณด๊ธฐ.
webpack.config.js ๋ด๋ถ metaํค ํ์ธ
template.hbs ์ ์์ฑ๋ metaํ๊ทธ๋ฅผ ์ง์ฐ๊ณ build ํด๋ณด๊ธฐ
Last updated