使用类似php的语法为node.js模板化库
是否有一个node.js库来“parsing”文件内容的特定语法? 在例子中,我有一个文件,我想在我的node.js服务器上:
<!DOCTYPE html> <html> <head>...</head> <body> <?node echo Date.getTime(); ?> <!-- or something like this, I hope you have got the idea --> </body> </html>
然后它返回一个HTML文件:
<!DOCTYPE html> <html> <head>...</head> <body> 08.08.2013 <!-- or something like this, I hope you have got the idea --> </body> </html>
我不知道如何更精确地描述它,例如Apache服务器的PHP,而是node.js服务器。
你正在谈论一个模板引擎。 有许多可能性,其中最受欢迎的是玉 :
与Express的整合尤其好。 你可以在这里find一个大的模板引擎列表:
您可以使用下划线模板 。 它可以让你写这样的模板:
<ul> <% _.each(people, function(name) { %> <li><%= name %></li> <% }); %> </ul>
EJS模板外观和感觉像PHP和ASP,但是纯JS: http : //embeddedjs.com/
他们的例子:
<ul> <% for(var i=0; i<supplies.length; i++) {%> <li><%= supplies[i] %></li> <% } %> </ul>
只要使用CGI-Node 。 它允许你像在PHP一样在任何虚拟主机上运行Node.js:
<html> <head> </head> <body> <? var helloWorld = 'Hello World!'; ?> <?= helloWorld ?> <br> <b>I can count to 10: </b> <? for (var index = 0; index <= 10; index++) { ?> <?= index ?> <? } ?> </body> </html>
我可能晚了一点晚,但我昨天的工作就像这样,它的作品令人惊讶的类似于PHP。 比如你可以做类似的东西
<?j include_once("header.jhtml"); for(var i = 0; i < 10; i++) { ?> <span id="<?j print(i) ?>"> <?j} print($.req.url); include("footer.jhtml"); ?>
这将包括头文件(如果它不包括之前),就像在PHP中,然后打印10个跨度的ID从0到9,然后打印请求url($是包含请求数据的上下文variables),然后包括页脚文件。 所以它基本上是用js语法的php。 我可能会在本周末在npm上发布。 尽pipe如此,正如我所说的那样,我已经在这一天工作了一天了。