我正在尝试使用Node.js构建一个完整的web应用程序。是否有一个模板引擎类似于(例如)Django模板引擎或类似的,至少允许你扩展基本模板?
当前回答
你可以使用dojox。DojoToolkit.org的dtl。请注意,dojo 1.7可以很好地运行在NodeJS上,并作为服务器端库执行。如果你感兴趣,我可以给你一个简单的例子。
其他回答
你尝试过PURE吗?如果你尝试过,可以随时在论坛上发表你可能遇到的问题
虽然它主要是为浏览器设计的,但它与Jaxer和Rhino配合得很好。
我还不知道node.js,但如果你能在内存中缓存一些JS和函数,速度应该会更令人印象深刻。
你应该看一看node-asyncEJS,它的设计明确考虑了node.js的异步特性。它甚至允许在模板中使用异步代码块。
下面是一个文档示例:
<html>
<head>
<% ctx.hello = "World"; %>
<title><%= "Hello " + ctx.hello %></title>
</head>
<body>
<h1><%? setTimeout(function () { res.print("Async Header"); res.finish(); }, 2000) %></h1>
<p><%? setTimeout(function () { res.print("Body"); res.finish(); }, 1000) %></p>
</body>
</html>
尝试“vash”- net mvc类似razor语法的node.js
https://github.com/kirbysayshi/Vash
也可以查看:http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx
// sample
var tmpl = vash.compile('<hr/>@model.a,@model.b<hr/>');
var html = tmpl({"a": "hello", "b": "world"});
res.write(html);
我在Symfony中使用Twig,现在正在尝试node.js,所以我正在寻找https://github.com/justjohn/twig.js和https://github.com/paularmstrong/swig,如果你使用django,你可能会喜欢。
你可以使用dojox。DojoToolkit.org的dtl。请注意,dojo 1.7可以很好地运行在NodeJS上,并作为服务器端库执行。如果你感兴趣,我可以给你一个简单的例子。