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?
Trả lời
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).
- 1. Sử dụng Node JS cho Frontend
- 2. Lấy tệp ra khỏi tệp JCR Node
- 3. Tạo một tệp zip trên S3 từ các tệp trên S3 bằng cách sử dụng Lambda Node
- 4. Chia ứng dụng Node trong các tệp khác nhau
- 5. swagger-node-express: Cách tải lên tệp từ swagger-ui?
- 6. Tạo tệp bằng dòng lệnh trong Node
- 7. Tải tệp lên máy chủ Node JS
- 8. Cách ghi tệp .wav từ blob trong Javascript/Node
- 9. Nhận con thứ N của một node sử dụng xpath
- 10. tải tệp lên máy chủ từ xa bằng cách sử dụng mpter sftp trong js Node nhanh?
- 11. Âm thanh trong Node-webkit bằng cách sử dụng nút js và API âm thanh web
- 12. Làm cách nào để sử dụng trình tải Webpack trong ứng dụng Node?
- 13. Chọn Xml Node sử dụng LINQ to XML
- 14. Đồng bộ hóa tệp với node.js: unision == tcp == node ----- [http] ----- node == tcp == unison
- 15. Cách chạy ứng dụng AngularJS2 không có máy chủ Node
- 16. Cách sử dụng tệp `variables.less`?
- 17. Cách sử dụng Typescript Async/await với lời hứa trong Node JS FS Module
- 18. Làm cách nào để cài đặt Node và NPM nên tôi không phải sử dụng sudo?
- 19. mac xác minh lỗi bằng cách sử dụng Node với chứng chỉ ssl
- 20. Lấy các tệp từ Thư mục Node Js
- 21. Chạy ứng dụng Node thông qua Grunt
- 22. Django và Node - cách hoạt động?
- 23. Cloudkit JS && Node JS
- 24. Cách gửi yêu cầu OAuth trong Node
- 25. Cách kết thúc trả lời POST.js/node?
- 26. Cách tốt nhất để thực hiện tệp node.js bằng cách sử dụng nvm
- 27. Tôi có thể sử dụng thư viện Node trên máy chủ Dart
- 28. Lỗi 'ECONNABORTED' ngẫu nhiên khi sử dụng sendFile trong Express/Node
- 29. Node glob pattern cho mọi tệp .js ngoại trừ .spec.js
- 30. Node-PerfectAPI vs Restify.js so với ExpressJS vs Node-APIServer
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
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
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? –