Installing Zombie.js Error: ReferenceError: Set is not defined. What am I doing wrong?

Installing Zombie.js Error: ReferenceError: Set is not defined. What am I doing wrong?

背景: 我目前正在阅读 Ethan Brown 的“Web Development with Node and Express”(顺便说一下,这本书对那些学习节点和表达),我卡在了第 5 章 - 质量保证运行ce.

一切都运行顺利。首先我 运行 以下内容:

npm install --save-dev mocha

npm install -g mocha

npm install --save-dev chai

npm install --save-dev zombie

问题:然后我运行(如书上所言):

mocha -u tdd -R spec qa/tests-crosspage.js 2>/dev/null

但这并没有做任何事情。那么我 运行:

mocha -u tdd -R spec qa/tests-crosspage.js

然后出现这个错误:

/Users/esanz91/Desktop/CodingNotes/Node/MySite/node_modules/zombie/node_modules/jsdom/lib/jsdom/level2/html.js:405 var nonInheritedTags = new Set([

ReferenceError: Set is not defined

版本: 只是为了给你们一个想法,我安装了以下版本。

cmd:

npm list --depth=0

results:

├── chai@2.2.0

├── express@4.12.3

├── express3-handlebars@0.5.2

├── mocha@2.2.4

└── zombie@4.0.7

此外,我 运行 在 Node 0.10 上。

我该如何解决这个问题?

谢谢!

我找到了我自己问题的答案。我实际上需要将 Zombie 4.0.7 降级到 3.1.x 以便 mocha 测试命令可以与 Node 0.10 一起使用。

Edit1:我决定将我的 Node 版本升级到 0.12,并将我的 Zombie 版本升级到 4.0.7,这也奏效了。 (似乎 Node 0.10 和 Zombie 4.0.7 不兼容...)

Edit2:对于任何阅读本书的人,我建议看一下作者本人的github repo。查看 package.json 文件,了解他使用的是哪个版本的模块。