問題タブ [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 に答える
574 参照

c++ - これと ObjectWrap::Unwrap のホルダー

クラスはと をv8::FunctionCallbackInfo区別ThisHolderます。this私は JavaScript の内容を知っており、それThisがその設定を反映していると思います。しかし、私は何が何であるかについて漠然とした考えしか持っていませHolderん.HolderThis

特に、nan ベースの node.js 拡張機能を作成して をアンラップするObjectWrap場合、どれを渡す必要がありますか?

現在、node::ObjectWrapドキュメントには を使用Holderした例があり、現在のNan::ObjectWrapドキュメントでは が使用Thisされているため、「ドキュメントの例に従ってください」というだけでは、この質問への回答には役立ちません。

0 投票する
4 に答える
1994 参照

javascript - C++ node.js モジュール。カウントが機能しない?

こんにちは、私は C++ の初心者で、既存のネイティブ ノード モジュールを変更しようとしています。

モジュール内に couts を追加して、役立つと思われる情報を出力しようとしています。

前の方法は機能していますが、cout は表示されません。node-gyp ビルド中に失われたり表示されたりしますか? 私は何か間違ったことをした?それを達成する方法はありますか?

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

c++ - v8::String を const char に変換する方法 *

私はdllにこの関数を持っています

私のノードアドオンには、この機能があります

コンパイルしようとすると、node-gyp がエラーを返します: 「引数 1 を 'v8::Local' から 'const char *' に変換できません。

v8::String を const char * に変換する方法は?

0 投票する
6 に答える
34454 参照

node.js - エラー: モジュール 'nan' が見つかりません

私はネイティブNode.jsアドオンに取り組んでおり、nan docsに従っています

次のように nan を binding.gyp に含めました。 "include_dirs" : [ "<!(node -e \"require('nan')\")" ]

また、nan は npm の依存関係にあります。

しかし、別のノード モジュール node-gyp 内にパッケージをインストールすると、エラーで失敗します

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

c++ - nodejs ネイティブ アドオン マルチスレッド

少しの間、nodejs 用のネイティブ モジュールを開発しましたが、いくつかのケースは私にはよくわかりません。残念ながら、v8 のドキュメントはあまり良くありません。

ですから、私にとって興味深い分野の 1 つがあります。まずstd::thread、メインのネイティブ モジュール スレッドで使用することは可能ですか? ドキュメントには、libuv 関数を使用して非同期操作を実行できると書かれていますが、このライブラリ内では v8 オブジェクトにアクセスできません。しかし、メイン スレッドで同期的に計算を並列化し、たとえば、一部の JS オブジェクト プロパティをその結果で別のスレッドで変更したい場合はどうすればよいでしょうか?

次のコードを試しました:

そして、期待どおりに動作しますが、別のスレッドで v8 オブジェクトにアクセスできないのはなぜでしょうか?

また、結果を v8::Number 型に変更し、現在の分離と新しい分離を介して myFunction 内に作成しようとしましたが、seg fault が発生します。

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

javascript - Node.js アドオンで std::thread を使用する

Node.js アドオンから同期関数を使用するとします。

しかし、私が持っているメソッドコードでは:

したがって、アドオンの同期呼び出しが 2 つありますが、このアドオンでは 2 つのスレッドが使用されます。1 つの関数がスレッドを開始し、もう 1 つの関数がそれらに参加します。質問は次のとおりです。並行して実行されますかrandom_void_function? とは同期しているrandom_void_function_2ので、とはイベント ループをブロックしますか? 私が見たところ、彼らはブロックしません。my_functionfinal_functionrandom_void_functionrandom_void_function_2

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

javascript - C++ から Node v8 Float32Array を作成する

ドキュメントを調べました:

を使用して、float の v8 配列を設定しようとしていますthrust::host_vectofr<float>dataset[i].vector = thrust::host_vector<float>

配列を使用すると、整数に丸められているようです:

型付き配列を使用すると、次のようになりFloat32Arrayます。

コンパイルは問題なく実行できますが、実行するとクラッシュします:

JavaScriptで使用できるように、C++からv8 Float32Arrayを割り当ててから入力する正しいアプローチは何ですか?

floatまた、Node.JS/v8 には?が付いていないことも理解しています。