我在Handlebars中预先编译模板时遇到了一些困难.我的jQuery Mobile项目在模板方面变得非常大,我希望预编译我使用的模板.
但是,我似乎无法找到一个很好的解释(如一步一步的教程)如何使用Handlebars做到这一点.
我仍然使用脚本标记内联我的模板.我使用NPM安装了车把.但现在我有点迷失如何继续前进.
我猜是在做类似的事情
handlebars -s event.handlebars > event.compiled
Run Code Online (Sandbox Code Playgroud)
并以某种方式包括event.compiled内容?但是,如何称呼它.
我正在调用我的模板
var source = $('#tmpl_profile').html(),
template = Handlebars.compile(source),
context = user.profile()),
html = template(context);
Run Code Online (Sandbox Code Playgroud)
希望有人可以为我阐明这一点.
我在Node.js中有一个应用程序,使用Expressjs和Handlebars作为模板引擎.
Expressjs使用布局然后呈现视图.布局(layout.hbs)如下所示:
<!doctype html>
<html lang="en">
<head>
</head>
<body>
{{{body}}}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在{{{body}}}
当您访问路径被替换服务器端的node.js内.例如:
app.get('/', function(req, res){
res.render('index'})
})
Run Code Online (Sandbox Code Playgroud)
将{{{body}}}
使用index.hbs的内容替换标记.
现在,在客户端我使用Backbone.js并希望使用Handlebars来控制通过Backbone控制的视图.问题是因为这些页面已经通过Handlebars呈现,当我尝试在其中使用Handlebars(或Handlebars中的Handlebars)时,它不起作用.没有错误,它只是不会用数据替换标签.
有没有人遇到这个或有任何想法解决?
谢谢!