handlebars 浏览器端 和node端 冲突 ,怎么公用?
node用的handlebars 模板引擎,而前端浏览器ajax渲染也想用handlebars 。如: 有一段给ajax数据使用的模板,直接写在页面里。变量用的{{ }}。node 渲染之后会先把模板里的变量给转换了。ajax再用的时候就失效了。
<script id="author-template" type="text/x-handlebars-template">
<div class="entry">
<h1>{{title}}</h1>
<div class="body">
{{{body}}}
</div>
</div>
</script>
怎么解决呢?手动改变{{}}符合吗?
7 回复
客户端handlebars预编译成js http://handlebarsjs.com/precompilation.html
@p412726700 不是很明白怎么用?能简单讲讲吗
把 script 中间的模板独立成一个文件,然后
app.get('/views/shared/:template.html', function(req, res, next) {
res.sendFile('views/shared/' + req.query.template + '.hbs');
});
- Node端
Handlebars.registerHelper('raw', function(options) {
return options.fn();
});
- 模板
{{{{raw}}}}
<script id="author-template" type="text/x-handlebars-template">
<div class="entry">
<h1>{{title}}</h1>
<div class="body">
{{{body}}}
</div>
</div>
</script>
{{{{/raw}}}}
谢谢 谢谢 各位太给力了