2015-05-14 19 views
9

Tôi đã cố cài đặt node_mouse và khi tôi tìm trong thư mục mô-đun nút của mình và thay vì phần mở rộng tệp .js bình thường, tôi đã tìm thấy đuôi tệp .node. Làm thế nào tôi có thể chạy node_mouse? Tôi nhìn nó lên và tôi nghĩ nó có thể là một addon được viết bằng C++, nhưng tôi không chắc chắn (Node addons)Cách sử dụng tệp .node?

+4

Bạn không cần phải suy nghĩ về tiện ích mở rộng, chỉ cần 'yêu cầu 'mô-đun giống như bất kỳ mô-đun nào khác. Bạn đang nhận được một số lỗi? – loganfsmyth

+1

Tôi đã, nhưng không phải tôi nhận ra tôi đã không có một trình biên dịch C++ thích hợp, làm việc trên đó ngay bây giờ. – idude

+1

Tôi cũng gặp phải một số lỗi với đuôi tệp .node, bạn có thể cho tôi manh mối về cách bạn làm cho nó hoạt động không? –

Trả lời

1

Có, cách sử dụng "yêu cầu" bình thường là thích hợp cho các tệp .node. Điểm của các tệp này là tạo các tệp nhị phân di động (sử dụng nút-gyp, từ C++) có thể được tham chiếu như nút bình thường yêu cầu. Xem phần hello.js của node addon docs:

const addon = require('./build/Release/addon'); 

console.log(addon.hello()); 

Sau khi xem xét lib NPM này, nó được nạp bởi nút một cách chính xác trên Windows, Mac, và Linux máy ảo với phiên bản nút khác nhau, nhưng nhị phân ném một mảng lỗi. Trên cửa sổ, nó có một phiên bản cụ thể của cửa sổ như một xây dựng mục tiêu (có khả năng NT, vì cửa sổ 10 ném một lỗi):

Error: %1 is not a valid Win32 application. 

trên OS X, điều này được dyld thất bại trong việc mở một thư viện chia sẻ được tham chiếu bởi nhị phân . (Xem người đàn ông dlopen):

Error:dlopen(/.../node_mouse/node_mouse.node, 1): no suitable image found. 

Trên Linux, chúng tôi gặp lỗi tiêu đề ELF, cho chúng tôi biết rằng không thể chạy nhị phân trên hệ điều hành này.

Error: /app/available_modules/1484064894000/node_mouse/node_mouse.node: invalid ELF header 

Các author dường như làm được rất nhiều Windows NT công việc, vì vậy nếu bạn thực sự cần làm việc này, hãy tìm một bản sao mới của Windows NT với tất cả các dev thêm ons.

Cuối cùng, hãy xem xét nguy cơ bảo mật khi chạy các tệp nhị phân nguồn đóng của bên thứ ba trong cơ sở mã của bạn (đặc biệt là các trình điều khiển chuyển động của chuột).

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