私はbson-extをネイティブバインディングとして使用しています。bson-extのネイティブ関数を呼び出せません
ネイティブファイル.node
のビルドはこれまでのところうまくいきました。私はGCC
、make
をインストールし、node-gyp configure
とnode-gyp build
を実行しました。
var bson = require('./bson/build/Release/bson.node');
var object = bson.BSON.prototype;
console.log(object.serialize('hey'))
問題がある、私はこのエラーを取得しています:
console.log(object.serialize({test: "turkey"}))
TypeError: Illegal invocation
私はconsole.log(object)
を行うときので、私はここに混乱私は今、そうのように私のnode
アプリでファイルを含めています出力:
BSON {
calculateObjectSize: [Function: calculateObjectSize],
serialize: [Function: serialize],
serializeWithBufferAndIndex: [Function: serializeWithBufferAndIndex],
deserialize: [Function: deserialize],
deserializeStream: [Function: deserializeStream] }
これらは、 C++はbson.node
に構築されました。しかし、今私はどのようにそれらを呼び出すか分からない。私は彼らのgithubページもドキュメントのためにチェックしましたが、運がありません。
編集:以下:
var bson = require('./bson/build/Release/bson');
console.log(bson.BSON)
出力:
[Function: BSON]
次に、私が実行します。
console.log(bson.BSON().serialize({turkey: 'hey'}));
しかし、REC eive:
console.log(bson.BSON().serialize({turkey: 'hey'}));
TypeError: First argument passed in must be an array of types
それから私は実行します。
console.log(bson.BSON(['BSON']).serialize({turkey: 'hey'}));
と受信:
Segmentation fault