我使用socket.io和nodejs with express。我有这个错误:
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')));
我如何解决这个问题?
答案 0 :(得分:2)
发送后,您正在设置http响应的标头。根据我的经验,这通常意味着您在同一请求中回复两次。或者,在您的情况下,可能是不正确的中间件订单。
如果您只使用静态路由应该是中间件问题。尝试删除包或表达中间件。他们应该在某种程度上不相容。
另外,正如其他人所问,发布一些追溯或代码,以便其他人可以更好地帮助你。