Node.js“根据需要无法读取未定义的属性'userAgent'

编辑4:我现在很高兴在Linux上工作,因为我得到了剩下的地方,以及如何将文件复制到项目中。 要继续并接受答案并将其closures。

编辑3:我有一个解决方法的地方,即工作了我的Debian虚拟机而不是Windows,感谢Len的评论。 但是,我现在离开这个问题,看看有人能解决Windows问题。

我已经慢慢地在我的Windows 7桌面上安装Node.js。 我慢慢的说,因为每一步的方式都有问题,从PATHvariables不更新,不知道我需要Python,以npm权限错误。 无论如何,在Google的帮助下,我已经完成了大量的工作,但是这让我完全陷入了困境:

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错误,search它具体已经网谷歌0点击,我很难过。 我想要做的就是在node.js中运行jquery 这应该需要〜3行input。 我错过了什么?

编辑:纵观navigator.userAgent结束的事情,它看起来像我下载的导航包是为了解决这个问题,但它不工作。 我也尝试编辑jquery模块中的node-jquery,用一个设置我自己的userAgent的全局variables“navigator”和一些其他的东西来覆盖全局variables,但是甚至没有改变错误,更没有修复这个问题。

Edit2 :(对于Debian来说是固定的,请参阅Len的答案下的注释)

为我工作!

 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$