`window.XMLHttpRequest`是未定义的

我正在修复一个JavaScript window元素的问题。 我已经做了经典:

  • npm install jQuery
  • npm update

然后,在第1行的'server.js'文件中

 var $ = require('jQuery'); 

在我的Ubuntu上,这个代码运行良好,没有问题,应用程序继续前进。 在Windows 7上有一个我不能与之战斗的怪物。
编写node server.js在我的CMD(与pipe理权限),我看到这个味精:

在这里输入图像说明

我只是不能把这个原因: window.XMLHttpRequest is undefined 。 我是一个好奇的人,所以我发现window.XMLHttpRequest被初始化,以及谁/什么适用于此:

在http://github.com/coolaj86/node-jquery/blob/master/lib/node-jquery.js的第8行。

 window.XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; 

为什么没有做好工作?
https://github.com/driverdan/node-XMLHttpRequest/blob/master/lib/XMLHttpRequest.js这里是xmlhttprequest代码。

解:
– 从2.5.0到3.0.0版本安装python(免费)
– 安装Visual Express 2010或更高版本(免费)

你需要安装npm的xmlhttprequest模块:

  npm install xmlhttprequest 

但通常情况下,它只是一个浏览器对象,您应该在服务器上使用它: http : //nodejs.org/docs/latest/api/http.html

你需要手动修补你的node_module/jquery/lib/node-jquery.js文件!

将这些行(第4行和第5行)更改为:

 if(window == null ) { window = require('jsdom').jsdom().createWindow(); ... 

至:

 if (!window || !window.document) { window = require('jsdom').createWindow(); window.document = require('jsdom').jsdom(); ...