最近用到了 node-gyp 这个工具, 是node 社区对 google gyp 编译工具的一个封装, 使用 node-gyp 工具可以用C++为node 项目编写 addon.
了解了一下 google gyp 工具, gyp 的意思是 generate your project. 该工具是chromium 团队为了解决 chromium 浏览器多平台构建问题, 它可以为不同的操作系统生成专门的项目文件, 比如为 windows 生成 VC++ 项目文件, 为 mac 生成 xcode 项目文件, 为 Linux 生成 Makefile 项目文件, 进而利用这些平台特定的编译工具, 完成项目构建.
gyp 项目配置文件是 .gyp 和 gypi(这里的 i 是C++ 的 include 意思), gyp和gypi配置文件其实可以认为是一个json文件, 可以允许使用 # 做注释. 一个 .gyp 文件.
(1). 在mac上, 一个 .gyp 文件会生成一个 .xcodeproj 文件
(2). 在win上, 一个 .gyp 文件会生成一个 .sln 文件, 每个target会生成一个 .vcproject 文件
(3) 在linux上, 一个.gyp文件会生成一个 Makefile.
使用说明:
http://erikge.com/articles/HelloGyp
http://gyp3.org
安装:
gyp 工具其实是 python 2.7的一个package, pypi 网站上没有收录.
正常情况下 gyp 安装, 需要git clone官方的源码, google 的网络不好访问, 所以安装过程比较麻烦, 可以使用 npm 安装 node-gyp, 也就自动完成 gyp 的安装, 甚至都不需要预先准备 python2.7.