Próbowałem zainstalować node_mouse, a gdy zajrzał do folderu modułów węzłów i zamiast normalnego rozszerzenia pliku .js, znalazłem rozszerzenie pliku .node. Jak mogę uruchomić node_mouse? Sprawdziłem to i myślę, że to może być dodatek napisany w C++, ale nie jestem do końca pewien (Node addons)Jak korzystać z pliku .node?
Odpowiedz
Tak, normalne użycie "require" jest odpowiednie dla plików .node. Celem tych plików jest utworzenie przenośnych plików binarnych (za pomocą węzła-gyp, z C++), do których można się odwoływać, tak jak wymaga tego normalny węzeł. Zobacz sekcję hello.js z node addon docs:
const addon = require('./build/Release/addon');
console.log(addon.hello());
Po pobycie w tym NPM lib, to jest ładowany przez węzeł prawidłowo w systemie Windows, Mac i Linux VM z kilku różnych wersjach węzłów, ale binarny Zgłasza tablica błędów. Na oknach, ma konkretną wersję Windows jako cel budowlanej (prawdopodobnie NT, ponieważ system Windows 10 generuje błąd):
Error: %1 is not a valid Win32 application.
na OS X, to dyld braku otwarcia biblioteki współdzielonej odwołuje binarnego . (Patrz człowiek dlopen):
Error:dlopen(/.../node_mouse/node_mouse.node, 1): no suitable image found.
na Linuksie, otrzymujemy ELF błąd nagłówka, który mówi nam, że binarne nie mogą być uruchamiane na tym systemie operacyjnym.
Error: /app/available_modules/1484064894000/node_mouse/node_mouse.node: invalid ELF header
author wydaje się zrobić dużo pracy, Windows NT, więc jeśli naprawdę potrzebujesz tej pracy, znaleźć świeżą kopię systemu Windows NT z wszystkimi dev dodać dodatki.
Wreszcie należy wziąć pod uwagę ryzyko bezpieczeństwa uruchamiania plików binarnych o zamkniętym kodzie źródłowym innych firm w bazie kodu (zwłaszcza tych, które sterują ruchem myszy).
- 1. Jak korzystać z node-qunit?
- 2. Jak korzystać z pliku .js?
- 3. Jak korzystać z pliku Moment.js?
- 4. Jak korzystać z pliku config.json Bootstrap?
- 5. Jak korzystać z przesyłanego pliku kapibara?
- 6. Jak korzystać z pliku testowego wyszukiwania pocisków
- 7. Jak korzystać z pliku sed tcl
- 8. Jak korzystać z SETLOCAL w pliku wsadowym?
- 9. W jaki sposób node-imagemagick porównać do node-gm?
- 10. Jak korzystać z protokołu node-http-proxy dla routingu HTTP do HTTPS?
- 11. Jak korzystać z pdf.js
- 12. Jak korzystać z NSSM
- 13. Jak korzystać z przesyłania pliku Jasny z Bootstrap 3
- 14. Jak korzystać z tekstu?
- 15. Jak korzystać z phantomjs?
- 16. Jak korzystać z csslint z wiersza poleceń?
- 17. Jak korzystać z saucelabs ze stacją nocną?
- 18. Django 1.4 - assertQuerysetEqual - jak korzystać z metody
- 19. Jak korzystać z JSTL?
- 20. Różnica między używaniem metody getConnection() a używaniem puli bezpośrednio w pliku node.js z modułem node-mysql?
- 21. Cloudkit JS && Node JS
- 22. node-postgres z ogromną ilością zapytań
- 23. Jak korzystać z dirs.proj?
- 24. Jak korzystać z Prototype.js z Node.js?
- 25. Jak korzystać z pliku ddply ze zmiennymi .variables?
- 26. Jak korzystać z rozruchu Spring przy użyciu pliku konfiguracyjnego log4j.xml?
- 27. Jak korzystać z polecenia start w pliku wsadowym?
- 28. Jak korzystać z wybranego jQuery w pliku html?
- 29. Jak korzystać z zewnętrznego pliku konfiguracyjnego w Grails .groovy 3
- 30. Jak korzystać z polecenia setx w pliku wsadowym systemu Windows
Nie powinieneś myśleć o rozszerzeniach, po prostu "wymagaj" modułu jak każdego innego modułu. Czy dostaję jakiś błąd? – loganfsmyth
Byłem, ale nie zdałem sobie sprawy, że nie miałem odpowiedniego kompilatora C++, pracując nad tym teraz. – idude
Otrzymuję również błąd z rozszerzeniem pliku .node, czy możesz dać mi wskazówkę, jak to działa? –