共享节点插件
Share Node Addons
我已经创建了一个节点插件,我可以毫无问题地使用它。我想将插件分享给其他开发者。共享插件的最佳方式是什么,以便其他开发人员可以使用相同的插件。仅共享 .node 文件是否足够?
一般来说,本机附加组件可以像 npm
上的任何其他包一样分发
不过,有几点需要注意:
*.node
文件是共享库,因此它们绑定到特定的目标平台。您的 *.node
文件只适用于您为其构建的平台。为了更广泛地使用,您必须为您想要支持的任何平台构建一个专用的 *.node
文件。
使用的第 3 方库:如果您的本机附加组件使用任何第 3 方库,您必须确保这些库存在于目标系统上 和 可以找到。如果你想确保它们可用,你必须运送所有必需的库(并在构建期间处理)。或者:您的包裹的硬性要求
原生插件类型:根据您构建原生插件的方式(例如 NAN 或 N-API),您的插件可能适用于某些节点版本.
3.1。 N-API:您的原生插件可用于各种节点版本(参见 this overview)
3.2。 NAN:NAN 附加组件是为特定节点 ABI 版本构建的,因此针对特定节点 ABI(例如 64)构建的附加组件不能用于另一个节点 ABI(例如 56)。您必须为要支持的每个节点 ABI
提供专用的 *.node
文件
有一些有用的工具可以帮助分发原生插件:N-API docs
- prebuild and prebuild-install 将帮助您通过 GitHub 发布
分发您的原生插件
- node-pre-gyp 能够从您提供的任何服务器检索附加组件
我已经创建了一个节点插件,我可以毫无问题地使用它。我想将插件分享给其他开发者。共享插件的最佳方式是什么,以便其他开发人员可以使用相同的插件。仅共享 .node 文件是否足够?
一般来说,本机附加组件可以像 npm
上的任何其他包一样分发不过,有几点需要注意:
*.node
文件是共享库,因此它们绑定到特定的目标平台。您的*.node
文件只适用于您为其构建的平台。为了更广泛地使用,您必须为您想要支持的任何平台构建一个专用的*.node
文件。使用的第 3 方库:如果您的本机附加组件使用任何第 3 方库,您必须确保这些库存在于目标系统上 和 可以找到。如果你想确保它们可用,你必须运送所有必需的库(并在构建期间处理)。或者:您的包裹的硬性要求
原生插件类型:根据您构建原生插件的方式(例如 NAN 或 N-API),您的插件可能适用于某些节点版本.
3.1。 N-API:您的原生插件可用于各种节点版本(参见 this overview)
3.2。 NAN:NAN 附加组件是为特定节点 ABI 版本构建的,因此针对特定节点 ABI(例如 64)构建的附加组件不能用于另一个节点 ABI(例如 56)。您必须为要支持的每个节点 ABI
提供专用的*.node
文件
有一些有用的工具可以帮助分发原生插件:N-API docs
- prebuild and prebuild-install 将帮助您通过 GitHub 发布 分发您的原生插件
- node-pre-gyp 能够从您提供的任何服务器检索附加组件