2、npm install node-gyp -g
3、安装python2.7、 安装VS(如vs2010 Express)
4、编写c++代码
//hello.cpp//该代码来源于node.js示例程序
#include <node.h>
#include <v8.h>
namespace demo {
using v8::Function;
using v8::FunctionCallbackInfo;
using v8::Isolate;
using v8::Local;
using v8::Null;
using v8::Object;
using v8::String;
using v8::Value;
void RunCallback(const FunctionCallbackInfo<Value>& args) {
Isolate* isolate = args.GetIsolate();
Local<Function> cb = Local<Function>::Cast(args[0]);
const unsigned argc = 1;
Local<Value> argv[argc] = { String::NewFromUtf8(isolate, "hello world") };
cb->Call(Null(isolate), argc, argv);
}
void Init(Local<Object> exports, Local<Object> module) {
NODE_SET_METHOD(module, "hello", RunCallback);
}
NODE_MODULE(addon, Init)
}
//5、编写binding.gyp文件
{
"targets": [
{
"target_name": "addon",
"sources": [ "hello.cpp" ]//可设置路径
}
]
}
//6、运行cmd ->将目录切换至.cpp文档目录
//运行node-gyp configure
//node-gyp build
//在release可找到编译完成的文件
问题:
1、使用vs编写cpp文件会提示<node.h>和<v8.h>文件不存在
解决办法:忽略掉,直接运行步骤6;
2、.gyp文件编辑
文本编辑器即可
3、安装python2.7、 安装VS(如vs2010 Express)
4、编写c++代码
//hello.cpp//该代码来源于node.js示例程序
#include <node.h>
#include <v8.h>
namespace demo {
using v8::Function;
using v8::FunctionCallbackInfo;
using v8::Isolate;
using v8::Local;
using v8::Null;
using v8::Object;
using v8::String;
using v8::Value;
void RunCallback(const FunctionCallbackInfo<Value>& args) {
Isolate* isolate = args.GetIsolate();
Local<Function> cb = Local<Function>::Cast(args[0]);
const unsigned argc = 1;
Local<Value> argv[argc] = { String::NewFromUtf8(isolate, "hello world") };
cb->Call(Null(isolate), argc, argv);
}
void Init(Local<Object> exports, Local<Object> module) {
NODE_SET_METHOD(module, "hello", RunCallback);
}
NODE_MODULE(addon, Init)
}
//5、编写binding.gyp文件
{
"targets": [
{
"target_name": "addon",
"sources": [ "hello.cpp" ]//可设置路径
}
]
}
//6、运行cmd ->将目录切换至.cpp文档目录
//运行node-gyp configure
//node-gyp build
//在release可找到编译完成的文件
问题:
1、使用vs编写cpp文件会提示<node.h>和<v8.h>文件不存在
解决办法:忽略掉,直接运行步骤6;
2、.gyp文件编辑
文本编辑器即可