我正在尝试使用Node.js构建一个完整的web应用程序。是否有一个模板引擎类似于(例如)Django模板引擎或类似的,至少允许你扩展基本模板?


当前回答

你应该能够使用mustache.js,如果它不工作,请把问题发给我,我会把它修复,因为我即将在node.js中使用它们。

http://github.com/janl/mustache.js

我知道它可以在没有DOM的情况下工作,因为很多CouchDB独立应用程序在Spidermonkey视图服务器中使用它。

其他回答

谷歌的闭包模板是一个原生javascript模板系统,看起来很适合NodeJS。下面是对它们进行积分的一些说明。

也试试Yajet吧。;-)这是我昨天刚刚发布的一个新版本,但我现在已经使用了一段时间,它稳定而快速(模板被编译为原生JS函数)。

对于模板引擎来说,它具有IMO最好的语法,尽管代码大小较小(减小了8.5K),但功能集丰富。它的指令允许你引入条件,迭代数组/哈希,定义可重用的模板组件等。

我从Twitter上找到了hogan.js, Tim O'Reilly在他的网站上推荐了hogan.js。我在这方面没有最佳实践,但我相信推特和奥莱利。你应该试试……

如果你喜欢haml,但想要更好的东西,请检查http://jade-lang.com的节点,我也写了haml.js:)

警告:JinJs不再被维护。它仍在工作,但与最新版本的express不兼容。

你可以试着用jinj。它是Jinja的一个端口,一个非常好的Python模板系统。你可以像这样用npm安装它:

npm install jinjs

在模板。tpl:

I say : "{{ sentence }}"

在你的template.js中:

jinjs = require('jinjs');
jinjs.registerExtension('.tpl');
tpl = require('./template');
str = tpl.render ({sentence : 'Hello, World!'});
console.log(str);

输出将是:

I say : "Hello, World!"

我们正在积极开发,一个好的文档应该很快就会出来。