如何使用.node文件?

我试图安装node_mouse ,当我查看我的节点模块文件夹,而不是正常的.js文件扩展名时,我发现一个.node文件扩展名。 我怎么能运行node_mouse? 我看了这个,我认为这可能是用C ++编写的插件,但我不完全确定( 节点插件 )

是的,正常的“require”用法适用于.node文件。 这些文件的重点是创build可移植的二进制文件(使用C ++中的node-gyp),可以像普通节点所要求的那样进行引用。 请参阅节点addon文档的hello.js部分:

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

在查看这个NPM库之后,它在具有多个不同节点版本的Windows,Mac和Linux VM上正确加载,但二进制引发了一系列错误。 在Windows上,它具有特定版本的Windows作为构build目标(可能是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头错误,告诉我们这个二进制文件不能在这个OS上运行。

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

作者似乎做了很多Windows NT的工作,所以如果你真的需要这个工作,find所有的开发添加新的Windows NT副本。

最后,考虑在代码库中运行第三方封闭源代码的安全风险(尤其是控制鼠标移动的安全风险)。