2015-05-14 1 views
9

Я пытался установить node_mouse, и когда я посмотрел в папке модулей узлов и вместо обычного расширения .js, я нашел расширение .node. Как я могу запустить node_mouse? Я посмотрел на это, и я думаю, что это может быть аддон, написанный на C++, но я не совсем уверен (Node addons)Как использовать файл .node?

+4

Вам не нужно думать о расширениях, просто «требуйте» модуль, как и любой другой модуль. Вы получаете какую-то ошибку? – loganfsmyth

+1

Я был, но не понял, что у меня не было подходящего компилятора C++, работающего над этим прямо сейчас. – idude

+1

Я получаю некоторую ошибку и с расширением .node, не могли бы вы дать мне понять, как вы ее работали? –

ответ

1

Да, нормальное использование «требуется» подходит для файлов .node. Точка этих файлов заключается в создании переносимых двоичных файлов (с использованием node-gyp, из C++), на которые можно ссылаться, как требует обычный узел. Смотрите раздел hello.js в node addon docs:

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

console.log(addon.hello()); 

Посмотрев в этот НОМ Lib, он будет загружен узлом правильно на моем Windows, Mac и Linux VM с несколькими различными версиями узлов, но двоичные Выдает массив ошибок. На окнах, она имеет определенную версию окна в качестве цели для построения (вероятно, NT, так как Windows 10 выдает ошибку):

Error: %1 is not a valid Win32 application. 

На OS X, это dyld неспособности открыть общую библиотеку, на который ссылается двоичным , (См человека dlopen):

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

На Linux, мы получаем ELF ошибку заголовка, который говорит нам о том, что двоичная не может быть запущен на этой ОС.

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

author, кажется, делает много работы Windows NT, так что, если вам действительно нужна эта работа, найти новую копию Windows NT со всем разработчиком добавить дополнения.

И, наконец, рассмотрите риск безопасности использования сторонних исходных двоичных файлов в базе кода (особенно те, которые управляют движением мыши).