链接到 Node.js 自带的库


Node.js 使用静态链接库,例如 V8、libuv 和 OpenSSL。 所有插件都需要链接到 V8,也可以链接到任何其他依赖项。 通常,这就像包含适当的 #include <...> 语句(例如 #include <v8.h>)一样简单,node-gyp 将自动定位适当的头文件。 但是,有一些注意事项需要注意:

  • node-gyp 运行时,它会检测 Node.js 的特定发布版本并下载完整的源代码压缩包或仅下载头文件。 如果下载了完整的源代码,插件将可以完全访问完整的 Node.js 依赖项集。 但是,如果只下载 Node.js 头文件,则只有 Node.js 导出的符号可用。

  • node-gyp 可以使用指向本地 Node.js 源镜像的 --nodedir 标志运行。 使用此选项,插件将可以访问完整的依赖项集。

Node.js uses statically linked libraries such as V8, libuv, and OpenSSL. All addons are required to link to V8 and may link to any of the other dependencies as well. Typically, this is as simple as including the appropriate #include <...> statements (e.g. #include <v8.h>) and node-gyp will locate the appropriate headers automatically. However, there are a few caveats to be aware of:

  • When node-gyp runs, it will detect the specific release version of Node.js and download either the full source tarball or just the headers. If the full source is downloaded, addons will have complete access to the full set of Node.js dependencies. However, if only the Node.js headers are downloaded, then only the symbols exported by Node.js will be available.

  • node-gyp can be run using the --nodedir flag pointing at a local Node.js source image. Using this option, the addon will have access to the full set of dependencies.