在jade中包含 其他前端模板(underscore)

最近项目中需要在后端使用的jade模板里包含前端用的underscore模板,最终写成下边这样:

script(type="text/template")#template
table.table
| <%var keys=Object.keys(item);_.forEach(keys,function(name,index){%>
tr
td <%=name%>
td <%=item[name]%>
| <%})%>


所有涉及underscore模板的地方,比如`<%`,`%>`包裹的内容(js代码),都需要作为字符串直接输出
而其他的内容,如果是标签,还是可以利用jade来编译的,主要注意缩进级别。

这样的混合,最开始很难理解。

这其是一个关于字符串拼接的事。

通常写nodejs做web服务器时,会选择一种模板语言,而前端在需要动态生成内容时,也会选择一种模板。

这时如何让后端模板与前端模板同时存在,输出时,如何只编译后端模板就是个问题了。

如果后端模板与前端模板相同,这种事情更难处理。因为后端在渲染时,需要知道哪些是需要后端处理哪些是前端处理是很难分清的。

用过Php smarty模板的同学都遇到过`{}`大括号的问题,可以通过转义,或者设置另一种不常用的开始结束标记来解决。这需要模板支持设置标记才可以。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Jade是一个高性能的HTML模板引擎,它受到Haml的影响,是使用JavaScript实现的。Jade在客户端也...
    0xSen阅读 5,798评论 0 4
  • 大部分的后端会很很鄙视前端。我也不知道为什么,可能大部分人都会觉得脚本语言根本不算语言。 大多人 会叫我们切图仔,...
    小黑的眼阅读 8,831评论 0 15
  • 前些日子从@张鑫旭微博处得一份推荐(Front-end-tutorial),号称最全的资源教程-前端涉及的所有知识...
    谷子多阅读 9,812评论 0 44
  • 人人都说读书好,那么你真的爱读书吗?以前啊,school这个词是休闲的意思。就是说人们生活累了是要去学校读读...
    I十六阅读 2,548评论 0 0
  • 不知道何時, 特別喜歡錯綜複雜的電線; 它讓我細微的與空間拉開了距離.
    荒木覺阅读 1,166评论 2 3

友情链接更多精彩内容