从节点上的ejs模板调用函数

我正尝试在服务器端使用ejs创build我的Web应用程序的非JavaScript版本。 我将模板传递给包含应用程序状态的对象,并且我希望使用该状态对象构build一个url。 所以基本上我想要做一些像<%= makeUrl(objectState.data [0])%>

我怎样才能使makeUrl从ejs模板中调用?

谢谢

编辑:我知道我可以将一个函数作为parameter passing给模板,但有没有更好的方法?

       

网上收集的解决方案 "从节点上的ejs模板调用函数"

在Express 3中,他们删除了dynamic助手的概念。 我相信通过app.locals将函数传递给模板实际上是现在推荐的方法。 我收集你已经知道如何,但对于有这个问题的其他人:

in your app.js: app.locals.myFunc = function(arg){...} in your template: <%= myFunc(objectState.data[0]) %>