Node.js“无法在require上读取未定义的属性'userAgent'

时间:2012-05-12 00:27:37

标签: node.js require

Edit4:我现在很高兴在Linux中工作,因为我得到了其他的问题,如何放置文件以及如何复制文件。继续接受并接受答案并将其关闭。

Edit3:目前我有一个解决方法,即使用我的Debian VM而不是Windows,感谢Len的评论。但是,我现在暂时没有回答,看看是否有人可以解决Windows问题。

我已经慢慢地在我的Windows 7桌面上安装了Node.js。我说的很慢,因为每一步都有问题,从PATH变量不更新,到不知道我需要python,到npm权限错误。无论如何,在谷歌的帮助下,我已经完成了大量工作,但这让我完全难过:

D:\Website\Webscraper>node webscrape.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
TypeError: Cannot read property 'userAgent' of undefined
    at D:\Website\Webscraper\node_modules\jquery\lib\node-jquery.js:87:23
    at D:\Website\Webscraper\node_modules\jquery\lib\node-jquery.js:995:2
    at create (D:\Website\Webscraper\node_modules\jquery\lib\node-jquery.js:9416:2)
    at D:\Website\Webscraper\node_modules\jquery\lib\node-jquery.js:9422:18
    at Object.<anonymous> (D:\Website\Webscraper\node_modules\jquery\lib\node-jquery.js:9424:1)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)

这是我的整个代码:

var $ = require('jquery');

关于丢失包的无休止错误之后,我通过npm在本地安装了以下内容:

  • jquery@1.7.2
  • htmlparser@1.7.6
  • jsdom@0.2.14
  • cssom@0.2.3
  • request@2.9.202
  • xmlhttprequest@1.3.0
  • location@0.0.1
  • navigator@1.0.1

但是,由于我现在得到的错误是一个非常通用的JS错误,并且特别搜索它已经获得了0次谷歌点击,我很难过。我想要做的就是在node.js中运行jquery。这应该需要~3行输入。我错过了什么?

编辑:查看navigator.userAgent的结尾,看起来我下载的导航器包是为了解决这个问题,但是它无效。我还尝试在jquery模块中编辑node-jquery,用一个设置我自己的userAgent的东西覆盖全局变量“navigator”,以及其他一些东西,但是没有任何东西改变错误,更不用说修复问题了。

Edit2 :(已修复为Debian,请参阅Len的回答下的评论)

1 个答案:

答案 0 :(得分:0)

适合我!

aeka ~/test$ cat webscrape.js 
var $ = require('jquery');
aeka ~/test$ node webscrape.js 
aeka ~/test$ echo $?
0
aeka ~/test$ npm ls
/Users/annelicuss/test
├─┬ jquery@1.7.2 
│ ├── htmlparser@1.7.6 
│ ├─┬ jsdom@0.2.14 
│ │ ├─┬ contextify@0.1.2 
│ │ │ └── bindings@0.3.0 
│ │ ├── cssom@0.2.3 
│ │ └── request@2.9.202 
│ └── xmlhttprequest@1.3.0 
└── navigator@1.0.1 

aeka ~/test$