nodejs和heroku:抛出新的错误(setHeader()需要''“name”和“value”。);

时间:2015-04-07 14:04:08

标签: javascript node.js heroku

你能帮忙吗,我在heroku上得到应用程序错误,虽然本地应用程序工作正常。

似乎这是_http_outgoing.js中的问题:333:

throw new Error('"name" and "value" are required for setHeader().');

更具体地说:

2015-04-07T05:22:23.244579+00:00 app[web.1]: > node ./bin/www
2015-04-07T05:22:23.845835+00:00 app[web.1]:     throw new Error('"name" and "value" are required for setHeader().');
2015-04-07T05:22:23.845840+00:00 app[web.1]:     at ClientRequest.OutgoingMessage.setHeader (_http_outgoing.js:333:11)
2015-04-07T05:22:23.845845+00:00 app[web.1]:     at /app/node_modules/simplecrawler/lib/crawler.js:768:11
2015-04-07T05:22:23.845847+00:00 app[web.1]:     at process._tickCallback (node.js:355:11)
2015-04-07T05:22:23.845848+00:00 app[web.1]:     at Function.Module.runMain (module.js:503:11)
2015-04-07T05:22:23.845837+00:00 app[web.1]:           ^
2015-04-07T05:22:23.845838+00:00 app[web.1]: Error: "name" and "value" are required for setHeader().

我的app.js

var app = express();
var port = process.env.PORT || 5000
var server = http.createServer(app)
server.listen(port)
console.log("http server listening on %d", port)

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

根据错误的说法,基于你的标题,你似乎只是在没有参数的情况下运行setHeader函数,当这是一个值设置函数时,需要两个参数:第一个(name)是名称要设置其值的标头,第二个(值)是您要设置标头的值。希望这能解决问题!

答案 1 :(得分:0)

问题在于simplecrawler模块。实现了一个新版本,修复了这个问题,并且它有效。