最近用到了 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.