基础环境
电脑环境: macOS 10.15.4
安装好
xcode
- 安装
node-gyp
- 自带
node
node-gyp
node-gyp install
将Node.js
源码的一些头文件下载到本地目录。目录结构为:
然后找到官方的 repo
进到1.first build
目录中去,可以在目录下执行下面的命令:
node-gyp configure
生成一些构建源码的项目文件。这一步会生成一个build
目录出来里面有Makefile
文件和一些必要的配置文件node-gyp build
用于将当前所在目录的模块进行重构,将Cpp代码编译成二进制文件。这时会在build/Release/
目录下生成一个first.node
文件出来
然后可以在命令行工具里面使用node
环境来引入我们构建出来的模块:
node-gyp clean
用于清理生成的构建文件 &out
目录。
当然有个懒人命令 node-gyp rebuild
能够依次去执行node-gyp clean
、node-gyp configure
、node-gyp build
。
node-gyp
的构建原理:在安装 C++ 原生模块时,使用 GYP
通过一个binding.gyp
文件来构建各系统所需要的C++
项目文件(mac下面是makefile
文件)。
基于上面的原理,其实nodejs里面其他的cpp的构建工具都大同小异,只不过node-gyp
是官方支持,所以不需要嵌入任何的脚本,其他构建工具需要在package.json
的scripts
中加入一些脚本使其在包安装阶段能够执行构建。