用于Node.js的EJS(与Express捆绑在一起)中没有包含link_to和其他视图助手?

时间:2011-04-05 14:31:07

标签: node.js express ejs

我使用EJS模板引擎使用Express Web框架设置了nodeJS服务器。

当我尝试在视图中使用EJS link_to视图助手时,出现引用错误。这是因为我做错了什么,或者视图助手是不是包括在内?

我尝试了以下

<# link_to("...", "...") #>

<#= link_to("...", "...") #>

<#- link_to("...", "...") #>


注意:我为EJS配置了自定义标签...

server.configure(function ()
{
    this.set("view engine", "ejs");
    this.set("view options", { open: "<#", close: "#>" });
});

3 个答案:

答案 0 :(得分:3)

尝试:

var helpers = require('express-helpers')

然后

helpers(app);
你的app.js中的

如果仍然无法工作,请尝试 <%- link_to代替<%= link_to

答案 1 :(得分:2)

添加https://github.com/mhayashi/express-helpers,这应解决问题..

他们遇到了一些问题:require('express-helpers')。虽然所有的功能都是我自己的。 除此之外,它运作良好。

答案 2 :(得分:0)

谢谢@ user-S和@mujaffars 只是将所有步骤写在一个地方,

  1. 安装快递助手。
  

npm install --save express-helpers

  1. 在app.js中编写
var expressHelpers = require('express-helpers');expressHelpers(app);
  1. 以这种方式在ejs中使用它,
  

使用<%=而不是<%-只会显示生成的html锚标记,这不是我们通常想要的。