0

Visual Studio でノードを作成し、Visual Studio プロジェクトで適切なパスを設定して、このコードを .node 拡張子で正常にコンパイルしました。

#include <node.h>

namespace demo {

    using v8::FunctionCallbackInfo;
    using v8::Isolate;
    using v8::Local;
    using v8::Object;
    using v8::String;
    using v8::Value;

    void Method(const FunctionCallbackInfo<Value>& args) {
        Isolate* isolate = args.GetIsolate();
        args.GetReturnValue().Set(String::NewFromUtf8(isolate, "world"));
    }

    void init(Local<Object> exports) {
        NODE_SET_METHOD(exports, "hello", Method);
    }

    NODE_MODULE(addon, init)

}

しかし、このコードからこのモジュールを呼び出すと、

var addon = require('./nodeExt');

console.log(addon.hello()); 

上記のエラーが発生しています。あなたの提案をしてください。

4

1 に答える 1

0

Visual Studio でビルドし、拡張子を .node に変更しても機能しません。node.js のネイティブ アドオンを構成および構築するには、node-gyp を使用する必要があります。こちらのガイドを参照してください。

https://nodejs.org/dist/latest-v6.x/docs/api/addons.html

ヒント: を実行node-gyp configureした後、Visual Studio で .sln ファイル (build/Release/binding.sln または build/Debug/binding.sln) を開くことができます。

于 2016-09-23T03:10:40.260 に答える