我有兴趣做一些服务器端DOM操作的项目之一,所以我决定看看Node.js的 ,并且在jsdom尤其如此。 我完全新的node.js的,所以也许我的错误是显而易见的,但从来没有少我到处都找不到我的问题的解决方案...
首先我在Windows上运行的节点本地的,也使用网上IDE CLOUD9
这是值得一提,因为我得到了安装最新jsdom包节点(这是0.2.15)的烦恼,因为所需的相关contextify不会在Windows下编译(C ++和Python的需要,当我发现NPM不支持大厦C ++封装) 。 所以,我花了两个替代方法:
我已经安装了不依赖于contextify的旧版本,这是jsdom@0.2.1。 下面是我目前有NPM列表
└─┬ jsdom@0.2.1 ├── cssom@0.2.5 ├── htmlparser@1.7.6 └── request@2.10.0
当我试图逃避应采取简单易行的测试脚本jsdom GitHub库 CLOUD9返回此警告
The "sys" module is now called "util". It should have a similar
我试图解决这个替换所有提及SYS来UTIL,错误消失了......(还是不是很确定这是正确的事情,虽然...)。 所以,最后当我试图运行这个片段
var jsdom = require("jsdom"); jsdom.env("http://nodejs.org/dist/", [ 'http://code.jquery.com/jquery-1.5.min.js' ], function(errors, window) { console.log("there have been", window.$("a").length, "nodejs releases!"); });
我发现
window.$ === undefined
。 试穿CLOUD9和局部节点v0.8.7与节点v0.6.x和节点v0.4.x运行。我试图做的另一件事是安装最新jsdom@0.2.15,得到contextify来自编译这里 ,安装绑定 ,并把它添加到contextify / node_modules作为contextify是依赖于它。 我是不是能够使它在所有的工作=(没有浪费太多的时间,因为它似乎是一个错误的做法,contextify是不是最新的。
这里的NPM列表
└─┬ jsdom@0.2.15 ├─┬ contextify@0.1.2 │ └── bindings@1.0.0 ├── cssom@0.2.5 ├── htmlparser@1.7.6 └── request@2.10.0
另外,这里是我的CLOUD9工作空间 ,不要害羞打转转。
任何帮助表示赞赏。 也许还有其他更好的来完成我想要的东西。
谢谢。