Express.js中的EJS – Express Helpers无法正常工作 – (app)处于require状态

我用express.js使用EJS模板引擎,我想使用视图助手。 我发现这在github上: https : //github.com/tanema/express-helpers ,但是当我尝试使用它时,我得到这个错误:

TypeError: object is not a function at Object.CALL_NON_FUNCTION (native) at Object. (/home/node/app/app.js:12:40) at Module._compile (module.js:402:26) at Object..js (module.js:408:10) at Module.load (module.js:334:31) at Function._load (module.js:293:12) at Array. (module.js:421:10) at EventEmitter._tickCallback (node.js:126:26) 

而这条线是app.js上的第12行:

 var helpers = require('express-helpers')(app); 

如果我做到了

 var helpers = require('express-helpers'); 

它确实会抛出错误,但也不起作用。

我的app.js文件的顶部如下:

 var express = require('express'); var app = express.createServer(); app.listen(34573); // !Requires var helpers = require('express-helpers')(app); 

想法?

提前致谢!

我的错。

事实certificate,我有我的链接混合,我试图使用的是用于分支分支。 我克隆了这个分支,并覆盖了默认的https://github.com/masahiroh/express-helpers ,代码的工作原理与正确的分支一样。

不pipe怎么说,还是要谢谢你!

你应该传递给app.locals():

 var helpers = require('express-helpers')(); app.locals ({ "form_tag" : helpers.form_tag, "form_tag_end" : helpers.form_end_tag, "link_to" : helpers.link_to, "input_field_tag" : helpers.input_field_tag, "submit_tag" : helpers.submit_tag ... }); 

对不起,我知道这是真的很晚,但我是你正在谈论的叉的作者。 它是express-helpers模块的维护版本,应该用于将来的版本。

你遇到的问题是在你调用app.listen()之前你应该要求帮助者。 app.listen()应该是你文件中最后的东西,特别是有关应用程序设置的东西。

你也可以使用这个npm包提供更好的和扩展的帮助。

https://www.npmjs.com/package/native-view-helpers

npm install native-view-helpers --save

希望它会帮助别人。