使用Express与Don Park的HBS作为视图引擎,旨在为客户端和服务器代码使用相同的模板样式.但是我遇到了一些障碍. 这里显示的是index.hbs, h1{{title}}/h1pWelcome to {{title}}/pdiv id="place"/divscript id="
这里显示的是index.hbs,
<h1>{{title}}</h1> <p>Welcome to {{title}}</p> <div id="place"></div> <script id="firstTemplate" type="text/x-handlebars-template"> <ul> {{#lines}} <li>{{name}}</li> {{/lines}} </ul> </script>
继承人向浏览器呈现的内容:
<h1>Express</h1> <p>Welcome to Express</p> <div id="place"></div> <script id="firstTemplate" type="text/x-handlebars-template"> <ul> </ul> </script>
Express View渲染过程似乎消耗了用于浏览器的模板块.据我所知,视图渲染器只是将整个file.hbs作为字符串模板进行渲染,而不是将脚本块与服务器视图区分开来.
有什么想法/解决方法吗?
我以相同的方式使用Handlebars并遇到了同样的问题.我通过存储这部分来解决它:
<script id="firstTemplate" type="text/x-handlebars-template"> <ul> {{#lines}} <li>{{name}}</li> {{/lines}} </ul> </script>
在一个单独的静态文件中,然后在页面呈现后通过ajax加载它.这样,我的客户端模板不会被Express错误地呈现.
如果有一种方法可以添加一个标记让Express知道忽略这样的块并将它们留给客户端,那就太好了.