"Synchronous XMLHttpRequest on the main thread is deprecated" 使用 nodejs app.get 或 http-server

"Synchronous XMLHttpRequest on the main thread is deprecated" using nodejs app.get or http-server

我正在 AngularJS 中为 node.js 中的后端创建前端。我可以选择两个简单的 node.js 前端服务器来为前端网页提供服务:一个是简单的 app.get in express,另一个是使用 http-server 包。

无论我使用哪种前端服务器代码,我都会在 Chrome 中收到以下浏览器控制台消息:

Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.

为了确保这不是由 Angular(或 Bootstrap)引起的,我已将我的网页缩减为以下内容:

<!DOCTYPE html>
<html lang="en" >
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>zoneshark</title>
  </head>
  <body>
    <h1>Hello, world!</h1>
  </body>
</html>

为什么我会收到错误消息? http-server 是否总是导致此错误?我如何使用 nodejs 设置前端服务器,以便不会发生此错误(只是这个简单的 "hello world" 页面将是一个起点)?

我用来替代 http-server 的服务器代码是:

var express = require('express');
var app = express();

app.get('/', function(req,res) {
  res.sendFile('./index.html', {root: __dirname});
});

app.get(/^(.+)$/, function(req, res) {
  res.sendFile('./' + req.params[0], {root: __dirname});
});

app.listen(80);

另一个奇怪的地方。从 http-server 控制台看,http-server 似乎提供两种资源:如预期的 /index.html 和 /favicon.ico - 这很奇怪,因为在任何地方都没有提到这一点。

最后的奇怪之处:这只发生在 Chrome。从 IE 没有问题,也不需要 favicon.ico。

在 Chrome 中,我清除了所有浏览数据,自动填充表单数据、密码和内容许可除外。

感谢您的评论。我已经找到了这个问题,它在 Chrome 之内 - 更具体地说是扩展。

问题出在我的扩展上:PropertyWizza v2.0。禁用此扩展可以解决问题。我现在将卸载它,这样它就不会干扰我的开发消息。

这一切都是推断出来的,因为我注意到我在访问任何网站时遇到了同样的问题 - 例如包括 BBC 和 GitHub - 从我家里的任何计算机,只要我使用 Chrome.

我对任何第一次开始调试前端的人的建议是,在开始之前检查您在所有浏览器中在其他网站上遇到的错误。这将为您的测试提供 "control"。