webpack dev server:TypeError:标题内容包含无效字符

我有一个webpack应用程序,我正在开发模式下使用webpack开发服务器来运行应用程序。 我也使用代理将我的请求代理到现场环境。

该应用程序以前运行使用节点v4.3.2没有问题,应用程序运行正常,代理正确。 我今天升级节点到版本7.0.0,所以我可以增加对es6的支持。 现在运行应用程序时,我收到了以下所有请求的错误:

webpack: bundle is now VALID. _http_outgoing.js:360 throw new TypeError('The header content contains invalid characters'); ^ TypeError: The header content contains invalid characters at ServerResponse.setHeader (_http_outgoing.js:360:11) at /home/jason/dev/frontend-tsm-holiday-results/node_modules/http- proxy/lib/http-proxy/passes/web-outgoing.js:96:13 at Array.forEach (native) at Array.writeHeaders (/home/jason/dev/frontend-tsm-holiday-results/node_modules/http-proxy/lib/http-proxy/passes/web-outgoing.js:90:35) at ClientRequest.<anonymous> (/home/jason/dev/frontend-tsm-holiday-results/node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js:157:20) at emitOne (events.js:96:13) at ClientRequest.emit (events.js:188:7) at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:473:21) at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23) at TLSSocket.socketOnData (_http_client.js:362:20) at emitOne (events.js:96:13) at TLSSocket.emit (events.js:188:7) at readableAddChunk (_stream_readable.js:176:18) at TLSSocket.Readable.push (_stream_readable.js:134:10) at TLSWrap.onread (net.js:551:20) 

我有一个谷歌周围,并find了这个问题的一些参考,但我不知道错误来自哪里,为什么? 这似乎是http_proxy的问题,但我不知道它来自哪个模块。

我的webpack的npmconfiguration是:

 "webpack": "^1.13.2", "webpack-dev-middleware": "^1.6.1", "webpack-dev-server": "^1.14.1", "webpack-fail-plugin": "^1.0.5", "webpack-hot-middleware": "^2.12.2", "webpack-merge": "^0.14.1" 

在开发环境中解决这个问题的一个快速方法是编辑实际的node_modules/http-proxy/lib/http-proxy/passes/web-outgoing.js ,并将行

 res.setHeader(String(key).trim(), header); 

有类似的东西

  try { res.setHeader(String(key).trim(), header); } catch (err) { console.log(key, header); } 

正确的解决方法是停止从代理服务器发送无效字符,或者升级到WebPack 2.x。