【问题标题】:Installing Zombie.js Error: ReferenceError: Set is not defined. What am I doing wrong?安装 Zombie.js 错误:ReferenceError:未定义集。我究竟做错了什么?
【发布时间】:2015-04-17 03:49:58
【问题描述】:

背景:我目前正在阅读 Ethan Brown 的“Web Development with Node and Express”(顺便说一句,对于那些学习 node 和 express 的人来说是一本很棒的书),我卡在第 5 章 - 质量保险上。

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

npm install --save-dev mocha

npm install -g mocha

npm install --save-dev chai

npm install --save-dev 僵尸

问题:然后我跑了(按照书上的指示):

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

但这并没有做任何事情。于是我跑了:

mocha -u tdd -R 规范 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 未定义

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

cmd:

npm 列表 --depth=0

结果:

├── chai@2.2.0

├── express@4.12.3

├── express3-handlebars@0.5.2

├── mocha@2.2.4

└──zombie@4.0.7

另外,我在 Node 0.10 上运行。

我该如何解决这个问题?

谢谢!

【问题讨论】:

  • Set 是 ECMAScript 6 引入的一种新类型。使用 V8 的 --harmony 标志运行 mocha 应该可以使其可用。
  • 我不明白为什么 Set 没有被识别。现在它是有道理的。谢谢@JonathanLonowski。

标签: node.js installation mocha.js chai zombie.js


【解决方案1】:

我找到了自己问题的答案。我实际上需要将 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 文件,看看他使用的是哪个版本的模块。

【讨论】:

  • 为我节省了一些时间。谢谢
猜你喜欢
  • 1970-01-01
  • 2014-06-15
  • 1970-01-01
  • 2013-08-06
  • 1970-01-01
  • 2013-02-25
  • 1970-01-01
  • 2016-07-18
  • 2013-09-07
相关资源
最近更新 更多