Node.js c++ 擴展之HelloWorld


測試環境

vs:vs2017
node.js:9.9.6

相關地址

官方文檔對應地址:https://www.nodejs.org/api/addons.html
官方案例對應地址:https://www.github.com/nodejs/node-addon-examples

安裝所需版本的Node.js

下載並且安裝Node.js,在官網下載安裝包即可。如果不想用最新版本,可以在https://www.nodejs.org/dist/下載別的版本。

安裝Python2.7

安裝Python2.7后,打開CMD,運行npm config set python python2.7。

安裝gyp

以管理員模式打開CMD,運行npm install -g node-gyp,即可安裝。 關於gyp可以參考https://github.com/nodejs/node-gyp#installation,里面有相關的安裝需求說明。

編寫代碼以及配置文件

這個請參考官方文檔。我這里直接以官方案例的HelloWorld為例。

打開CMD,切換目錄至代碼目錄

1_hello_world 下有好幾個文件夾,我選擇了node_0.12,也就是說要切換到這個文件夾下。其中binding.gyp文件為配置文件。hello.cc是我們寫插件代碼的地方。hello.js用於測試。

運行node-gyp configure,如果配置文件沒錯的話,就會出現一個目錄build,里面是VS的工程文件,你就可以使用VS進行編譯了,當然也可以運行node-gyp build來編譯

修改JS文件以及測試

將編譯完的hello.node復制到代碼所在目錄(node_0.12)。

編輯hello.js文件,將
var addon = require('bindings')('hello');
改成
var addon = require('./hello.node');

這里的測試代碼是遠古版本的代碼,所以需要修改。

之后開始測試,打開CMD,切換到hello.js所在目錄,運行node hello.js,如果沒有出問題,cmd就會輸出world字符。

注意

NODE_MODULE(hello, init)中的hello是模塊名,需要與文件名保持一致,不然編譯沒問題,運行時會出錯。因為在require('./hello.node')時,既去找相應的文件,也匹配對應的MODULE。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM