0

私はexpressでsocket.ioとnodejsから使用します。私はこのエラーがあります:

throw new Error('Can\'t set headers after they are sent.');

私はから使用します

  "dependencies": {
    "express": "~3.3.6",
    "socket.io": "0.9.16",
    "jade": "~0.35.0",
    "less-middleware": "~0.1.12",
    "redis": "~0.8.4",
    "connect-redis": "~1.4.5",
    "longjohn": "~0.2.1",
    "mongoose": "~3.6.20"

app.use('/static', express.static(path.join(__dirname, 'public')));

どうすればこの問題を解決できますか?

4

1 に答える 1

2

送信後に http 応答のヘッダーを設定しています。私の経験では、これは通常、同じリクエストに対して 2 回返信していることを意味します。または、あなたの場合、ミドルウェアの順序が正しくない可能性があります。

静的ルートのみを使用している場合は、ミドルウェアの問題になるはずです。パッケージまたはエクスプレス ミドルウェアのいずれかを削除してみてください。それらは何らかの形で互換性がないはずです。

また、他の人が尋ねたように、トレースバックまたはコードを投稿して、他の人があなたをより良く助けることができるようにしてください。

于 2013-09-30T10:43:13.967 に答える