7

我在 Windows 7 上运行了全新安装的 node.js,我正在尝试运行一个非常基本的 JQuery 脚本,名为a.js,其中仅包含:

require("jquery");
$().jquery;

不幸的是,这不会与 JQuery 一起运行,给我一个 TypeError:

C:\Users\Ian>node a.js

C:\Users\Ian\node_modules\jquery\lib\node-jquery.js:10
    window.XMLHttpRequest.prototype.withCredentials = false;
                         ^
TypeError: Cannot read property 'prototype' of undefined
    at create (C:\Users\Ian\node_modules\jquery\lib\node-jquery.js:10:26)
    at C:\Users\Ian\node_modules\jquery\lib\node-jquery.js:9435:18
    at Object.<anonymous> (C:\Users\Ian\node_modules\jquery\lib\node-jquery.js:9437:2)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (C:\Users\Ian\a.js:1:63)

我通过 Google 发现了一些关于此错误的错误报告,其中大部分建议降级 JQuery。但是,当我这样做时,我会得到一个不同的错误。以下是 JQuery 1.6.3:

C:\Users\Ian>node a.js

module.js:340
    throw err;
      ^
Error: Cannot find module 'location'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at create (C:\Users\Ian\node_modules\jquery\node-jquery.js:6:33)
    at C:\Users\Ian\node_modules\jquery\node-jquery.js:9065:18
    at Object.<anonymous> (C:\Users\Ian\node_modules\jquery\node-jquery.js:9067:2)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)

谁能建议可能出了什么问题?我尝试了各种重新安装该软件的方法,但都没有成功。我已经尝试过默认版本的 jquerynpm install -gnpm installjquery@1.6.3。

编辑:这个问题- 尚未得到解答 - 似乎相关。

4

5 回答 5

8

如果你在节点 0.10.x ... 运行 sudo npm rebuild

https://github.com/coolaj86/node-jquery/issues/35

于 2013-06-02T20:44:13.797 回答
3

在 jquery-nodejs 项目的 git 页面中,说这在 Windows 上不起作用,所以问题出在你的操作系统上。 https://github.com/coolaj86/node-jquery

于 2012-12-12T22:05:37.513 回答
0

您必须将模块分配给$变量:

var $ = require('jquery');
$().jquery;
于 2012-10-19T18:03:48.097 回答
0

我在 REHL 上遇到了这个问题, sudo npm rebuild 为我解决了这个问题。

于 2013-10-02T20:22:54.253 回答
0

对于运行 Windows 的用户,npm 重建可能无法正常工作,您可能仍会看到类似以下内容:

C:\Projects\NODE\paragraphs\node_modules\jquery\lib\node-jquery.js:10
window.XMLHttpRequest.prototype.withCredentials = false;
                     ^
TypeError: Cannot read property 'prototype' of undefined

感谢用户NeverI为我找到了这个解决方案:

在 node-jquery.js(在 \node_modules\jquery\lib 下找到)中更改以下行:

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

到:

 if(!window || !window.document) {
    window = require('jsdom').createWindow();
    window.document = require('jsdom').jsdom();
于 2014-11-10T14:58:42.213 回答