在Node.js中使用HTML帮助程序?

时间:2012-04-20 22:04:32

标签: function templates node.js express helper

node.js和express有很多模板引擎,甚至还有这个详细的比较:http://paularmstrong.github.com/node-templates/index.html这导致我查看了EJS,Mu2和JQTpl,我花了几个小时试验它们中的哪一个适合我最需要的。

我知道有几个问题关于哪个框架最好,但没有一个集中在使用帮助者的可能性。我尝试构建一个表单助手(如果我将一个对象传递给它,它应该呈现输入标签及其值)以及所有这些,但我没有找到一个直接的方式来完成它。

是否有任何可推荐的模块可以让我使用助手?也许甚至使用mustache.js(对我来说 - 感觉就像我尝试过的那样)?提前谢谢!

1 个答案:

答案 0 :(得分:0)

我不能指出你正在寻找的比较,但我看过的几乎所有模板引擎都有帮助设施。

如果你正在使用Express(你在问题中提到过),你可以告诉Express你要向你正在使用的模板引擎公开什么助手(通过“view engine”app变量设置) - 参见以下章节Express Guide的详细信息:

  • 查看渲染 - 介绍如何配置Express以使用特定的模板引擎。该示例引用了Jade,默认情况下安装了Express,并且支持帮助程序。
  • Server.helpers() - 如何注册要传递给模板的静态视图助手
  • Server.dynamicHelpers()如何注册可以访问Request和Response对象的帮助程序

某些模板引擎支持内置Express,但它们可能需要额外的配置步骤。我偏爱CoffeeKup(以及更新的fork coffeecup),它可以让你在Coffeescript中写下你的观点;启用自动编译需要和额外调用Express服务器对象(并在文档中介绍):

app.register('.coffee', coffeecup.adapters.express);

其他人可能会提供额外的节点包,您可能会发现npm search express-具有指导意义。例如,express-handlebars专门修复了app.helpers()app.dynamicHelpers()以使用把手。 (免责声明:我个人没有使用过这个模块。)