2015-04-15 15 views
10

Bối cảnh: Tôi hiện đang đọc "Phát triển Web với Node và Express" bởi Ethan Brown (cuốn sách tuyệt vời bằng cách này cho những nút học tập và thể hiện) và tôi đã bị mắc kẹt trên Chương 5 - Bảo hiểm chất lượng.Cài đặt Lỗi Zombie.js: Tham chiếuError: Đặt không được xác định. Tôi đang làm gì sai?

Mọi thứ đều chạy mượt mà. Đầu tiên tôi chạy như sau:

npm install --save-dev mocha

npm install -g mocha

npm install --save-dev chai

npm install --save-dev zombie

Vấn đề: Sau đó, tôi chạy (như cuốn sách hướng dẫn):

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

Nhưng điều này đã không làm bất cứ điều gì. Vì vậy, sau đó tôi chạy:

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

Và sau đó lỗi này xuất hiện:

/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

phiên bản: Chỉ cần để cung cấp cho các bạn một ý tưởng, tôi đã các phiên bản sau được cài đặt.

cmd:

npm list --depth=0

results:

├── [email protected]

├── [email protected]

├── [email protected]

├── [email protected]

└── [email protected]

Ngoài ra, tôi đang chạy trên nút 0.10.

Làm cách nào để khắc phục sự cố này?

Cảm ơn!

+4

['Set'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) là một kiểu mới được giới thiệu bởi ECMAScript 6. Chạy mocha với V8 '- -harmony' cờ nên làm cho nó có sẵn. –

+0

Tôi không thể hiểu tại sao Set không được công nhận. Bây giờ nó có ý nghĩa. Cảm ơn @JonathanLonowski. – esanz91

Trả lời

18

Tôi đã tìm thấy câu trả lời cho câu hỏi của riêng mình. Tôi thực sự cần hạ cấp Zombie 4.0.7 xuống 3.1.x để lệnh kiểm tra mocha có thể hoạt động với nút 0.10.

Chỉnh sửa1: Tôi đã quyết định nâng cấp phiên bản Node lên 0,12 và phiên bản Zombie của tôi lên tới 4.0.7 và phiên bản đó cũng hoạt động. (có vẻ như nút 0.10 và Zombie 4.0.7 không tương thích ...)

Chỉnh sửa2: Đối với bất kỳ ai đọc sách, tôi khuyên bạn nên tự mình xem github repo. Hãy xem tệp package.json để xem phiên bản của các mô-đun mà anh ta sử dụng.

+1

Đã lưu tôi một chút thời gian. Cảm ơn – zafrani

Các vấn đề liên quan