Articles of 模板引擎

Nodejs模板系统文档

我想为node.js创build自己的模板系统(仅用于教育目的),但是我找不到任何有用的信息。 有没有什么好的教程可以帮助我? 谢谢!

在玉器中,你如何在多个层面使用相同的块名称?

有一个工作基础文件和扩展名, page.jade和layout.jade 希望在它们之间放置一个扩展,在layout获取之前修改page的block 。 可能保留块名称,并做到这一点? 否则,很多代码需要改变。 目前,在layout.jade : 身体 p问候 阻止内容 再见! 和page.jade 扩展布局 阻止内容 很高兴见到你 结果是: 问候 很高兴见到你 再见! 希望在 layout.jade和page.jade 之间插入一个扩展middle.jade page.jade 。 page.jade会延伸到middle , middle会延伸layout 。 例如, middle.jade 扩展布局 阻止内容 早上好 阻止内容 目标结果: 问候 早上好 很高兴见到你 再见 当我尝试这个时候, middle.jade块没有被拿起。 我是愚蠢的,失去了一些明显的东西? 或者这甚至可能?

在Express和Jade中内联jade.render()?

我正在尝试使用Node的Jade渲染另一个团队的玉石模板。 模板是相当复杂的,有几十个mixin等等。在mixin的某个地方有这样的东西,我不能让它在Express中进行渲染/编译: // .. mixing something div Foo is a bar !{jade.render('dir/sometemplate', e)} // … Jade在parsing模板时抱怨说,玉是未定义的,因此.render不存在。 对我来说,玉是不是在当地人,但我怎么能使这个苍蝇? 快速路线(routes / index.js): exports.index = function(req, res) { res.render(mod +'/module.jade', { "arg": "value, // .. JSON HERE .. } ); }; 帮助深表感谢!

当使用jade在node.js中呈现html + js页面时,将html呈现为呈现的文本而不是html

我正在尝试使用jade在nodejs中呈现html + js页面。 我使用网上可用的HTML玉转换器将我的HTML转换成玉,然后从我的nodejs应用程序呈现它。 但是,我无法正确渲染玉石。 我使用的例子是由谷歌地图API提供的文档 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Marker animations with google</title> <style> html, body, #map-canvas { height: 100%; margin: 0px; padding: 0px } #panel { position: absolute; top: 5px; left: 50%; margin-left: -180px; z-index: 5; background-color: #fff; padding: 5px; border: 1px solid #999; } </style> <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script> <script> var berlin […]

客户端渲染和跳过服务器渲染的方法?

我想呈现我的页面客户端,以帮助保持负载closures服务器,并保持交通。 我知道,第一次调用服务器通常会导致服务器必须呈现请求的页面,然后将该页面发送给用户。 当用户与页面交互时,JavaScript接pipe路由,路由将请求发送到服务器以获得特定的视图,然后通过客户端上的javascript进行更新。 我在想这个方法是否存在,是否可行。 比方说,我想去的地址: www.example.com/about 是否有一种方法将/about作为参数附加到服务器的html页面/ javascript代码(与www.example.com/相同)。 当客户端准备好客户端时,它向服务器发送一个/about数据的请求,其中响应更新客户端的视图。 这将意味着完全跳过服务器端渲染。 还是我疯了?

Jade:从主页以外的任何地方修改<head>

更新: 我也把这个问题发布到了Jade GitHub仓库。 我也把它放在这里,以供将来(循环)参考: https : //github.com/jadejs/jade/issues/1943 原文: 在一个默认的节点+ express + jade应用程序中,我正在尝试构build一些常用的可重用组件(菜单,页脚…),这些组件可以包含在一些页面中。 我试图从块或包含文件中添加对.css或.js文件的引用时被卡住了。 我想这样做,因为如果我不需要它们,我不想包含所有的样式和脚本。 文件夹结构是这样的: 根 上市 JavaScript的 main.js menu.js 样式表 的main.css menu.css 意见 共享 layout.jade menu.jade footer.jade index.jade layout.jade文件: doctype html html head title= title link(rel="stylesheet", href="stylesheets/main.css") script(src="javascripts/main.js") body block content index.jade文件: extends shared/layout block content h1= title p Welcome to #{title} 在menu.jade中有一些代码需要menu.css和menu.js文件。 现在我只需要使用menu.jade文件,就可以将这些文件添加到页面的<head>中。 […]

T4相当于node.js

我是一个node.js新手。 我需要在运行时产生dynamic的js输出,从静态片段和服务器产生的数据,以及使用服务器数据的控制块。 在DOT NET中,我使用T4来实现这一点,但在我看来,好像所有的node.js模板引擎都只知道如何生成HTML。 有什么T4的node.js的等价物,例如一个可以输出不是HTML的纯文本,并使用服务器控制块?

在ejs模板引擎中包含非ejs文件

当使用ejs模板引擎和node.js并且expression时,添加没有.ejs结尾的文件是否可行? 我想把着色器放在以.glsl结尾的单独文件中。 比我想包括他们这样的: <% include /shaders/example.vertex.glsl %> 如果我使用example.vertex.glsl.ejs它的作品,但比语法高亮着色器不工作了… 我其实并不拘泥于ejs。 任何其他高速模板引擎,这将工作在罚款。 我刚刚使用了ejs,因为我已经预先使用了它。

具有Node.js的Spark视图引擎?

我已经使用Spark视图引擎(http://sparkviewengine.com/)与ASP.NET,我真的很喜欢它。 Node.js中是否有端口或类似的模板引擎?

Marko JS模板中的条件类

我正在使用layout taglib 扩展页面到其模板,但我不知道如何将一个variables传递到主布局和应用条件类。 考虑到这是我的main-layout.marko <!DOCTYPE html> <html lang="en"> <head> </head> <body class="#### (TITLE === 'REGISTER')?'ACTIVE':'INACTIVE' ####"> <layout-placeholder name="title"/> <layout-placeholder name="body"/> </body> </html> 这是我的registration.marko <layout-use template="./layout.marko"> <layout-put into="title"> $data.title </layout-put> <layout-put into="body"> some content </layout-put> </layout-use> 最后这是我用来渲染页面和传递标题数据的代码 router.get('/register', function(req, res, next) { registration.render({ title: 'register' }, res); }); 如何在main-layout.marko文件上创build一个条件类,根据页面标题在活动或非活动之间切换? 谢谢