問題タブ [node.js-addon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
259 参照

javascript - ローカルへのアクセス方法node.js アドオンで

C++ コードに渡された引数を使用する node.js のアドオンを作成しました。

実際の c-style バッファにアクセスするにはどうすればよいですか? v5.6.0 ドキュメントより優れたドキュメントやチュートリアルはありますか?

0 投票する
1 に答える
825 参照

c++ - C++ モジュールから node.js にバッファを返す

node.js の C++ モジュールを作成していて、次の問題が発生しました。コード:

コメント化されたコードのコメントを外すと、関数はすべての呼び出しに対して同じ結果を返します

結果は完璧ですが、ノードの最大整数サイズが原因で正しくないため、バッファを使用する必要があります。しかし、そこには別の問題があります。最初の呼び出しは、正しくない異なるバッファーを返します。しかし、それらは同じでなければなりません

エラーは、C++ からノードへのメカニズムの理解にあると思います。しかし、私はこの範囲の初心者なので、正しいモジュールを作成するためにあなたの助けが必要です.

0 投票する
1 に答える
70 参照

c++ - nodejs モジュールの初期化関数から障害を報告する

nodejs C++ モジュールがあり、初期化エラーを報告する方法を知りたいです。したがって、定型文は次のとおりです。

Initialize戻り値の型がなく、それが であるためスローが許可されていない場合、内部でエラーを報告するにはどうすればよいextern "C"ですか? 呼び出す必要がある特定のコールバックはありますか?

また、nodejs に公開されているコールバック メソッドからエラーを報告するベスト プラクティスは何ですか? nullオブジェクトを返すのは一般的な方法ですか、それともそこにスローできますか?それはjavascript側で例外として表示されますか?

0 投票する
2 に答える
4136 参照

c++ - Node JS - モジュールが自己登録しませんでした

私はさまざまな投稿を調べましたが、それらのほとんどは、npm を再構築/再インストール/更新することを提案していますが、試してみましたが、役に立ちませんでした。

私は C++ で node.js の例を試しています。以下はファイルの詳細
TestNode.cpp です


バインディング.gyp

実行が始まり、モジュールが自己登録されていないというエラーがスローされます。

バージョン情報

このエラーを解決するためのガイドをお願いします。

0 投票する
1 に答える
4468 参照

c++ - NAN AsyncWorker::Execute 内から Javascript コールバックを呼び出す NodeJS アドオン

非同期アドオン関数内から nodejs コールバックを呼び出したいと思います。私は同期の例 (ここ) を見てきましたが、素晴らしい非同期の例 (ここ) を出発点として使用しています。

ただし、c++ AsyncWorker 子クラスに与えられたコールバックを実行しようとすると、セグメンテーション エラーが発生します。

これが私のコードです:

私の質問:

  1. Nan の AsyncWorker を使用せず、代わりに自分で作成する必要がありますか?
  2. Javascript を呼び出すように Execute 関数を設定するにはどうすればよいですか?
0 投票する
0 に答える
130 参照

javascript - v8: FunctionTemplate 内にスクリプトを含める方法

nodejsアドオンを使用してMongoDB nodejsドライバーラッパーを作成するためにこれを行っています。非同期の性質を取り除くラッパーを作成したいと考えています。残念ながら、上記のドライバーには「同期」オプションがありません。

mongodb c ドライバーと mongodb c++ ドライバーをビルドしようとしましたが、うまくいきませんでした。

これが私の質問です:文字列化されたjavascript関数本体をv8関数に解析するにはどうすればよいですか?

私はこのコードを持っています

これにより、エラーが発生します: Illegal return statement この関数を配置する必要があると結論付けました。

関数本体をテンプレートに解析する方法がわかりません。:'(

PS: 私は初心者なので、初心者にわかりやすい言葉にしてください。笑。笑

0 投票する
0 に答える
36 参照

c++ - ArrayBufferView のデータへのアクセス

BufferNode.JS アドオンで( )からのデータを処理したいのですがArrayBufferView、C++ でこの実験的なコードを使用しています。

今、私はこのコードを次のようなスクリプトで実行します

そして、データ バッファーは、私が入れたメモリ領域を指しているのではなくfoobar、長さが 8192 バイトのランダムな他の領域を指しています。適切なデータを取得するにはどうすればよいですか?