2016-11-02 1 views
2

У меня есть приложение для webpack, и я использую сервер webpack dev в режиме dev для запуска приложения. Я также использую прокси-сервер для проксирования моих запросов в живую среду.webpack dev server: TypeError: содержимое заголовка содержит недопустимые символы

Приложение было ранее запущено с использованием узла 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) 

Я имел Google вокруг и нашел ссылку на эту проблему, но я не уверен, где ошибка происходит из и Зачем? Кажется, проблема связана с http_proxy, но я не уверен, из какого модуля она исходит.

Моя конфигурация НПМ WebPack является:

"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" 

ответ

0

Быстрый способ исправить это в Dev окр, чтобы изменить фактическую 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); 
     } 

Правильным решением было бы либо прекратить отправку недопустимых символов из t сервер, который вы проксируете, или перейти на WebPack 2.x.

Смежные вопросы