nodejs和heroku:抛出新错误(setHeader()需要“名称”和“值”');

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

本文关键字:名称 需要 错误 heroku 新错误 nodejs setHeader      更新时间:2023-09-26

你能帮忙吗?我在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)

我该怎么解决这个问题?

根据错误的说法,根据您的标题,当这是一个值设置器函数,并且需要两个参数时,您似乎只是在没有参数的情况下运行setHeader函数:第一个(name)是您要设置其值的头的名称,第二个(value)是您想将头设置为的值。希望这能澄清问题!

问题出在simplecrawler模块上。实现了一个新版本,解决了这个问题,并且成功了。