рдореИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рд▓рд╛рдЗрди рдХреЗ рдЕрдВрдд рд╕реЗ рдердХ рдЧрдП рд╣реИрдВ, рддреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдирд╛рдореЛрдВ рдкрд░ рдирдЬрд╝рд░ рд░рдЦреЗрдВ рдФрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓реНрдб рд╕реЗ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ, рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
jsttojs рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИред
рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░ "google" рдХреЗ рд▓рд┐рдП рдерд╛, рдПрдХ рдЫреЛрдЯреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдЙрдкрдпреБрдХреНрдд рдХреБрдЫ рднреА рдирд╣реАрдВ рдерд╛ред рд╡рд╣рд╛рдБ
handlebars.js рд╣реИрдВ , рд▓реЗрдХрд┐рди рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рдВрдЫрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдЬреАрдд рд╕рдВрджрд┐рдЧреНрдз рд▓рдЧрддрд╛ рд╣реИред рдмреЗрд╢рдХ рдПрдХ рдЕрджреНрднреБрдд
Google рдХреНрд▓реЛрдЬрд░ рдЯреВрд▓реНрд╕ рд╣реИ , рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрд▓реЛрдЬрд░ рдЯреВрд▓реНрд╕ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдореЗрд░реА рдЕрдкрдиреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред
рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ, рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ рдЕрдирдВрдд рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдо рд╣реИ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЗ рд╕рднреА рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреА рдЦреЛрдЬ рдХрд░рддреА рд╣реИ, рдЗрд╕реЗ рдЫреЛрдЯрд╛ рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдбрд╛рд▓рддреА рд╣реИ, рдЬрд╣рд╛рдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреБрдВрдЬреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдорд╛рд░реНрдЧ рд╣реИред
рдЖрд╡реЗрджрди рдХрд╛ рдХреНрд╖реЗрддреНрд░
рдпрд╣ рдЙрдкрдХрд░рдг рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрди рд╕реЗ рдмрдВрдзрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдк рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореВрдВрдЫреЗрдВ, рдЕрдВрдбрд░рд╕реНрдХреЛрд░редрдЬреЗрдПрд╕, рдпрд╛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдврд╛рдВрдЪрд╛ред
рдЪреВрдВрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрд╕реЛрд▓ рд╕реЗ рд▓реЙрдиреНрдЪ рдХреА рдЧрдИ рд╣реИ, рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк
рдЧреНрд░рдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк
рдЧреНрд░рдВрдЯ-рдЬреЗрд╕реНрдЯрдЯреЛрдЬреЗ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреЗ рдЙрдкрдпреЛрдЧ
рд╕реНрдерд╛рдкрдирд╛ рдорд╛рдирдХ npm рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИ:
$ npm install -g jsttojs
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
-h, --help -V, --version -e, --ext <n> , jst -n, --name <n> , JSTmpl -w, --watch -r, --removebreak , -a, --amd AMD requirejs
$ jsttojs templates compiled/templates/index.js --ext mustache --watch
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╕рдмрд╕реЗ "рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯ" - рд╡реЙрдЪ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЖрдк рдмрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде, рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рд╣рдЯрд╛рдиреЗ рдореЗрдВ, рд╕рдВрдкреВрд░реНрдг рдЕрд╕реЗрдВрдмрд▓реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдХрд┐рдВрдЧ рд░рд┐рджрдо рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдП рдмрд┐рдирд╛ рд╣реЛ рдЬрд╛рдПрдЧреАред
рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░рдг рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП hogan.js рдХреЗ рд╕рд╛рде рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
var Template = { render: function(name, data) { var template = Hogan.compile(MyGlobalVariable[name]); return template.render(data); }, compile: function(name) { return Hogan.compile(MyGlobalVariable[name]); } }
рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
var html = Template.render('video/index', { username: 'World' });
рдЙрджрд╛рд╣рд░рдг
рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕:
рд╣рдо рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
$ jsttojs templates compiled/templates/index.js --name MyGlobalVariable
рдФрд░ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
рдирд┐рд╖реНрдХрд░реНрд╖
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрд╣ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЙрддрдирд╛ рд╣реА рдЖрд╕рд╛рди рдФрд░ рд╕реБрдЦрдж рд╣реЛ рдЧрдпрд╛, рдЬрд┐рддрдирд╛ рдХрд┐ рд╣рдо рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдЪреНрдЫрд╛рдИ рдХреА рдХреБрдЫ рдХрд┐рд░рдгреЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╡рд┐рдЪрд╛рд░, рд╕реБрдЭрд╛рд╡ рдФрд░ рдкреВрд▓ рдХреЗ рдЕрдиреБрд░реЛрдз рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рдХреЛрдб
рдЬреАрдердм рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ
рд╕рдВрджрд░реНрдн
рдЖрдк рджреВрд░ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
upd
рдпрджрд┐ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ "рдИрдорд╛рдирджрд╛рд░" рд╕рдВрдХрд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣реИрдВрдбрд▓рдмрд╛рд░ рдХреА рдУрд░ рджреЗрдЦреЗрдВ, рд▓реЗрдХрд┐рди рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЖрдХрд╛рд░ рдХрд╛рдлреА рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ (
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ)ред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, jsttojs рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рд░реНрд╡рд░ рдкреБрдирд░реНрд╕рдВрдпреЛрдЬрди рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЙрдирдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХреЛ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред