🌐 Build Tools
构建本地 Node.js 插件需要将 C/C++ 源代码编译成 Node.js 可以在运行时加载的二进制 .node 文件。本节介绍可用的构建工具以及它们之间的权衡。
🌐 Building a native Node.js addon requires compiling C/C++ source code into a binary .node file that Node.js can load at runtime. This section covers the build tools available to you and the trade-offs between them.
🌐 Compiling on installation vs. distributing pre-built binaries
有两种广泛的策略用于发布本地插件:
🌐 There are two broad strategies for shipping a native addon:
在用户的机器上编译 - 当用户运行 npm install 时,构建工具会在他们的系统上编译你的 C/C++ 源代码。这很容易设置,但要求每个用户都安装有可用的 C/C++ 工具链。
分发预构建的二进制文件 - 你预先为每个支持的平台和架构编译二进制文件,并将其上传到用户可以下载的地方。下载了匹配二进制文件的用户可以完全跳过编译步骤;其他用户则需要回退到本地编译。
🌐 Build tools covered in this section
- node-gyp - npm 打包的默认构建工具;使用谷歌的 GYP 格式,在 Node 生态系统中几乎被普遍支持
- CMake.js - 一种基于 CMake 的替代方案,非常适合已经使用 CMake 的项目
- node-pre-gyp - 一个建立在 node-gyp 之上的层,用于通过 Amazon S3 分发预构建的二进制文件