Gab*_*ath 18 windows http-headers node.js
我是节点的新手。我已经安装了nosejs 版本 v12.4.0、npm 6.9.0、http-server 0.11.1 和 Visual Studio 代码。我想用我的 http-server 打开我的 hello word 项目,它在 Visual Studio 中代码。但我收到以下错误
错误
[2019-06-21T05:20:18.280Z] "GET /" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Chrome/64.0.3282.140 Safari/51637"140 (节点:11596)[DEP0066] 弃用警告:不推荐使用 OutgoingMessage.prototype._headers
我尝试npm install node-gyp来解决标题问题,但没有成功。
我也尝试使用不同的浏览器,例如。chrome, firefox , explore 但没有成功。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1> Hello Word </h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我希望在任何浏览器中都能看到“Hello Word”。我使用的是 Windows 10。请提供帮助
小智 15
节点版本 12 弃用了 http-server 中使用的 OutgoingMessage.prototype._headers。问题列在:https : //github.com/http-party/http-server/issues/537
使用节点 12.0.0 我使用 http-server 得到同样的错误。切换到 10.11.0 会消除错误。
那些在FreeCodeCamp练习中遇到这个问题的人,问题出在server.js文件中。解决办法是更换._headers用.getHeaders(),因为错误告诉我们,._headers已被弃用。例如在server.js,而不是 -
// filter out CORS Headers
var hs = Object.keys(res._headers)
.filter(h => !h.match(/^access-control-\w+/));
var hObj = {};
hs.forEach(h => {hObj[h] = res._headers[h]});
delete res._headers['strict-transport-security'];
Run Code Online (Sandbox Code Playgroud)
使用以下 -
// filter out CORS Headers
var hs = Object.keys(res.getHeaders())
.filter(h => !h.match(/^access-control-\w+/));
var hObj = {};
hs.forEach(h => {hObj[h] = res.getHeaders()[h]});
delete res.getHeaders()['strict-transport-security'];
Run Code Online (Sandbox Code Playgroud)
总结:全部替换._headers为.getHeaders().
小智 6
我在浏览器同步方面遇到了一些问题。当我开始项目时,我每次都会收到来自节点的警告( [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated )。但是当我将浏览器同步依赖项更新为“browser-sync”:“^2.26.13”时,我的项目在没有任何警告的情况下启动了。