Edit4:我现在很高兴在 Linux 中进行这项工作,因为我已经了解了放置位置以及如何为项目复制文件的其他问题。继续并接受答案并关闭它。
Edit3:由于 Len 的评论,我目前有一个解决方法,即使用我的 Debian VM 而不是 Windows。但是,我暂时不回答这个问题,看看是否有人可以解决 Windows 问题。
我一直在慢慢地在我的 Windows 7 桌面上安装 Node.js。我说得很慢,因为每一步都有问题,从 PATH 变量没有更新,到不知道我需要 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
- 请求@2.9.202
- xmlhttprequest@1.3.0
- 位置@0.0.1
- 导航器@1.0.1
但是由于我现在得到的错误是一个非常通用的 JS 错误,并且专门搜索它已经获得了 0 个谷歌点击,我很难过。我想做的就是在 node.js 中运行 jquery。这应该需要大约 3 行输入。我到底错过了什么?
编辑:查看 navigator.userAgent 的结果,看起来我下载的 navigator 包是为了解决这个问题,但它不起作用。我还尝试在 jquery 模块中编辑 node-jquery,用一个设置我自己的 userAgent 的全局变量“navigator”以及其他一些东西来覆盖全局变量,但没有任何东西可以改变错误,更不用说解决问题了。
Edit2:(针对 Debian 修复,请参阅 Len 的回答下的评论)