2011-11-03 31 views
7

Tôi đang cố gắng để mô-đun nodeunit hoạt động trong một dự án coffeescript nhưng dường như không thể chạy thử nghiệm cơ bản. Dưới đây là ví dụ của tôi Coffeescript require 'nodeunit'Làm thế nào để sử dụng mô-đun node.js 'nodeunit' với các tệp coffeescript

test = true 
test2 = false 

exports.testSomething = (test) -> 
    test.expect(1) 
    test.ok(true, "this should pass") 
    test.done() 

exports.testSomethingElse = (test2) -> 
    test2.expect(1) 
    test2.ok(false, "this should fail") 
    test2.done() 

Thật không may, khi tôi chạy '$ nodeunit example.coffee' Tôi nhận được đầu ra lỗi:

example.coffee:4 exports.testSomething = (test) -> ^

module.js:296 throw err; ^SyntaxError: Unexpected token > at Module._compile (module.js:397:25) at Object..js (module.js:408:10) at Module.load (module.js:334:31) at Function._load (module.js:293:12) at require (module.js:346:19) at /usr/local/lib/node/nodeunit/lib/nodeunit.js:75:37 at /usr/local/lib/node/nodeunit/deps/async.js:508:13 at /usr/local/lib/node/nodeunit/deps/async.js:118:13 at /usr/local/lib/node/nodeunit/deps/async.js:134:9 at /usr/local/lib/node/nodeunit/deps/async.js:507:9

bất cứ ai có thể giúp tôi chỉ nhận được một đơn giản kiểm tra và chạy trong Coffeescript bằng Node.js?

Cảm ơn trước

Trả lời

14

Ví dụ của bạn chạy tốt cho tôi. Có thể bạn đang sử dụng phiên bản cũ của nodeunit, trước khi có hỗ trợ CoffeeScript; hãy thử

npm install -g nodeunit 

để cập nhật lên phiên bản mới nhất.

Nếu điều đó không thành công, thì tôi nghi ngờ rằng đó là vấn đề đường dẫn, do đó khi nodeunit cố gắng làm require 'coffee-script', nó không thành công.

Đầu tiên làm

npm install -g coffee-script 

và ghi dòng cuối cùng của sản lượng, mà nên tìm kiếm một cái gì đó giống như

[email protected] /usr/local/lib/node_modules/coffee-script 

Bây giờ chạy

echo $NODE_PATH 

mà trong trường hợp của tôi là /usr/local/lib/node_modules. Bạn cần phải thiết lập NODE_PATH vào thư mục mẹ của coffee-script thư mục đó NPM tạo ra, bằng cách thêm một dòng như

export NODE_PATH=/usr/local/lib/node_modules 

để ~/.profile hoặc ~/.bashrc hay bất cứ điều gì khác đó là vỏ của bạn chạy khi nó bắt đầu, và khởi động lại vỏ của bạn. Sau đó, bất cứ khi nào bạn làm require 'coffee-script' từ bất kỳ ứng dụng Node nào trên máy của bạn, nó sẽ tìm thấy thư viện CoffeeScript.

+0

Công việc thám tử hiện tượng. $ NODE_PATH của tôi trống, nhưng không có mô-đun nào khác của tôi được chăm sóc. Cảm ơn nhiều. –

+0

@ user1028416 Bạn nên đánh dấu câu trả lời của mình là chính xác, sau đó. Trong khi bạn đang ở đó, hãy xem xét đưa ra câu trả lời +1. Chúng tôi làm việc cho cred trên Stack Overflow. :) –

0

Nếu tập lệnh cà phê của bạn là phiên bản 1.7 hoặc mới hơn, bạn cũng có thể bị bug #247, mà tôi vừa gửi patch.

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