1.環(huán)境
Ubuntu 14.04
node 4.5.0
node-gyp 3.4.0
2.項目
新建項目,加入組件nan和bindings
方法一、在項目文件的node_modules中復(fù)制組件nan和bindings的全部代碼包;
方法二、在package.json的dependencies中加入這兩個組件,用nmp安裝
3.c++源碼
//addon.cc#include <nan.h>void RunCallback(const Nan::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Function> cb = info[0].As<v8::Function>(); const unsigned argc = 1; v8::Local<v8::Value> argv[argc] = {Nan::New("hello world").ToLocalChecked()}; Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, argc, argv);}void Init(v8::Local<v8::Object> exports, v8::Local<v8::Object> module) { Nan::SetMethod(module, "exports", RunCallback);}NODE_MODULE(addon, Init)4.binding.gyp{ "targets": [ { "target_name":"addon", "sources":["addon.cc"], "include_dirs":[ "<!(node -e /"require('nan')/")" ] } ]}5.js源碼var addon = require('bindings')('addon');addon(function(msg){ console.log(msg[0]); console.log(msg[1]);});6.編譯addoncd到源碼目錄下
node-gyp configure build 7.執(zhí)行cd 到源碼目錄下
node hello.js
新聞熱點
疑難解答
圖片精選