1

我正在尝试修复 javascriptwindow元素问题。我已经完成了经典:

  • npm install jQuery
  • npm update

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

var $ = require('jQuery');

在我的 Ubuntu 上,这段代码运行良好,没有问题,应用程序继续运行。在 Windows 7 上,有一个我无法与之战斗的怪物。
在我的 cmd 上写node server.js(具有管理员权限),我看到这个消息:

在此处输入图像描述

我只是无法接受这个原因: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代码。

4

3 回答 3

1

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

于 2012-07-20T13:23:49.830 回答
0

您需要使用 npm 安装 xmlhttprequest 模块:

    npm install xmlhttprequest

但通常,它是仅浏览器的对象,您应该在服务器上使用它: http ://nodejs.org/docs/latest/api/http.html

于 2012-07-16T13:14:15.403 回答
0

您需要手动修补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();
    ...
于 2013-10-28T16:09:40.017 回答