๋์ผํ ๋๋ ํ ๋ฆฌ์ ๊ฐ๋จํ ๋ถ๋ถ ํ
ํ๋ฆฟ์ด ์์ต๋๋ค.
๋ ๋ค ์๋ํ์ต๋๋ค(header.html.mu๊ฐ ๊ธฐ๋ณธ template.html.mu์ ๋์ผํ ๋๋ ํ ๋ฆฌ์ ์๋ ๊ฒฝ์ฐ).
{{foo}}
{{
์๋ฌด๊ฒ๋ ์๋ํ์ง ์์ง๋ง header.html์ ์๋ ๋ด์ฉ์ ํฌํจํ์ง ์์ต๋๋ค.
๋ถ๋ถ์ ์ผ๋ก ์๋ํฉ๋๋ค. examples/ ๋๋ ํ ๋ฆฌ์ ์์ ์ Readme์ ๋ฌธ์๋ฅผ ํ์ธํ์ญ์์ค. mustache.js๋ ๋์ผํ ๋๋ ํ ๋ฆฌ์ ์๋ ํ์ผ์ ์๋์ผ๋ก ๋ก๋ํ์ง ์์ต๋๋ค(JavaScript์๋ file-io๊ฐ ์๊ธฐ ๋๋ฌธ์ :)
"์๋์ผ๋ก ๋ชจ๋ ํ์ผ ๋ก๋"๋ ๋ฌด์์ ์๋ฏธํฉ๋๊น? ๊ทธ๋์ ๋ด๊ฐ ๊ฐ์ง๊ณ ์๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค :
๋ณด๊ธฐ.js
ํ
ํ๋ฆฟ/header.html.mu
ํ
ํ๋ฆฟ/body.html.mu
view.js์ ๋ค์์ด ์์ต๋๋ค. Mu.templateRoot = './templates';
๊ทธ๋ฐ ๋ค์ "header.html"์ ๋ ๋๋งํฉ๋๋ค.
header.html.mu๋
{{>body.html}}
๊ทธ๋ฌ๋ ๊ฒฐ์ฝ ํฌํจ๋์ง ์์ต๋๋ค. ๋ด๊ฐ ๋ญ๊ฐ๋ฅผ ๋์น๊ณ ์์ต๋๊น? ์งํ ์ค์ธ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๊ฐ ์์ต๋๊น?
๋ถ๋ถ์ ์ผ๋ก ์คํ๋๋ ํน์ js ์์ ๋ฅผ ์๋ ค์ค ์ ์์ต๋๊น? ๋งํฌ์
.html.mu๋ฅผ ๋ณผ ์ ์์ง๋ง ์๋ฌด ์์
๋ ์ํํ๋ js๋ ๋ณผ ์ ์์ต๋๋ค...
๊ฐ์ฌ,
๊ฐ์ฌ....
์ค, test.js๊ฐ ๋ณด์ ๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๊ฐ readFileSYnc๋ฅผ ์ฌ์ฉํ๊ณ ํ ํ๋ฆฟ์ ์ปดํ์ผํด์ผ ํ๋ค๋ ๋ง์ ๋๊น?
๊ณ์๋ ํฌ์. ํ ํ๋ฆฟ์์ ๋ถ๋ถ์ ์ฌ์ฉํ๋ nodejs์์ ์คํ๋๋ ๊ฐ๋จํ ์์ ๊ฐ ์์ต๋๊น?
์ฌ๊ธฐ์ ํต์ฌ์ to_html()
๋ฅผ ํธ์ถํ๊ธฐ ์ ์ ์ด๋๊ฐ์์ ๋ชจ๋ ํ
ํ๋ฆฟ ํ์ผ์ ๋ก๋ํ๊ณ ๋ชจ๋ ํ
ํ๋ฆฟ ๋ด์ฉ์ ์ ๋ฌํด์ผ ํ๋ค๋ ๊ฒ์
๋๋ค.
var view = {
partial: {
foo: 1
},
name: "Jan"
};
var template = "Hi {{name}}. you have {{>partial}} foos.";
var partial_html = "{{foo}}";
Mustache.to_html(view, template, {
partial: partial_html
});
/์ ๊ฒฝ ์ฐ์ง ๋ง์.
๋ฌธ์ ๋ ๋ด ํ ํ๋ฆฟ์
, ์ปดํ์ผ๋ฌ๋ฅผ ํญํ์ํค๋ .... ๋ถ๋ช ํ ' ๋ฐ์ดํ๊ฐ ํ์ํฉ๋๋ค. ๋ถ๋ถ์ ์ผ๋ก...์ฌ๊ธฐ์ ํต์ฌ์ to_html()์ ํธ์ถํ๊ณ ๋ชจ๋ ํ ํ๋ฆฟ ๋ด์ฉ์ ์ ๋ฌํ๊ธฐ ์ ์ ์ด๋๊ฐ์์ ๋ชจ๋ ํ ํ๋ฆฟ ํ์ผ์ ๋ก๋ํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค.
var ๋ณด๊ธฐ = {
๋ถ๋ถ: {
ํธ: 1
},
์ด๋ฆ: "์"
};
var template = "์๋ ํ์ธ์ {{name}}. {{>partial}} foo๊ฐ ์์ต๋๋ค.";
var partial_html = "{{foo}}";
Mustache.to_html(๋ณด๊ธฐ, ํ
ํ๋ฆฟ, {
๋ถ๋ถ: partial_html
});
... ์ด ๋ฌธ์๋ฅผ ๋ฌธ์์ ์ถ๊ฐํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. - ์ ๋ ๋ถ๋ถ์ด ์๋ํ์ง ์๋ ์ด์ ์ ๋ํด ๋จธ๋ฆฌ๋ฅผ ๊ธ๋ ๋ฐ ํ ์๊ฐ ์ด์์ ๋ณด๋์ต๋๋ค. ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ฌ๊ธฐ์ ํต์ฌ์ to_html()์ ํธ์ถํ๊ณ ๋ชจ๋ ํ ํ๋ฆฟ ๋ด์ฉ์ ์ ๋ฌํ๊ธฐ ์ ์ ์ด๋๊ฐ์์ ๋ชจ๋ ํ ํ๋ฆฟ ํ์ผ์ ๋ก๋ํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค.
var ๋ณด๊ธฐ = {
๋ถ๋ถ: {
ํธ: 1
},
์ด๋ฆ: "์"
};
var template = "์๋ ํ์ธ์ {{name}}. {{>partial}} foo๊ฐ ์์ต๋๋ค.";
var partial_html = "{{foo}}";
Mustache.to_html(๋ณด๊ธฐ, ํ ํ๋ฆฟ, {
๋ถ๋ถ: partial_html
});
... ์ด ๋ฌธ์๋ฅผ ๋ฌธ์์ ์ถ๊ฐํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. - ์ ๋ ๋ถ๋ถ์ด ์๋ํ์ง ์๋ ์ด์ ์ ๋ํด ๋จธ๋ฆฌ๋ฅผ ๊ธ๋ ๋ฐ ํ ์๊ฐ ์ด์์ ๋ณด๋์ต๋๋ค. ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ