CXYが世界に何かを言っているように、これはブログの庭で私の最初のブログで、それは確かにHelloWorldのの一つであります
nodejs C ++で.nodeファイルを通じて入力することができますは、コンパイル済みのファイルを必要とし、モジュールが組み込ま作ります
だから、どのような効果のあなたは、それによって達成したいことは、出力のHelloWorldをnodejs
(内部ははconsole.log(「こんにちは、世界!」)によって達成することができ、ここでtest.js、しかし、これは私たちの目的は、今日ではありません)
コードの内部でTest.js初見
こんにちはCONST =必要( '../ビルド/リリース/ hello.node' )
はconsole.log(hello.say())
ここhello.nodeはC ++アドオンによってコンパイルされ、必要により導入されます。機能のコンソールと言うハロー戻り値を経由して、出力モジュール
これを行うには、フォルダを作成し、次のドキュメントを追加
何の内容はhello.hppではありません、あなたが追加することはできません。
その後、コードはHELLO.CPPです
書式#include <iostreamの> の#include < 文字列 > の#include <node.h> 書式#include <nan.h> NAN_METHOD(例えば) { info.GetReturnValue()セット(ナン::新。 <V8 ::文字列>(STD: :文字列(" こんにちは、世界!" ))ToLocalChecked());。 } NAN_MODULE_INIT(InitHello) { 試み { NAN_EXPORT(ターゲット、例えば)。 } キャッチ(スタンダード::例外e) { のstd :: COUT << e.what()。 } } NODE_MODULE(こんにちは、InitHello)
C言語でのデータ交換を可能++および層ナンをnodejsするためには、ナンは、インストールする--save-devのナン関連ファイルをインストールNPMで必要とされます
そして、CPP内の参照node.h nan.h(またはHPP)
モジュール全体入口所定NODE_MODULE
NAN_METHOD文機能、NAN_EXPORTエクスポート機能によって機能がnodejsを作るために使用することができます
cmakeの-JSをコンパイルすることにより、アドオンモジュール、私たちは地元のcmakeの-jsからNPMインストール--save-devの[email protected]でインストールすることができ、cmakeの-JSが必要な情報が書き込まれCMakeLists.txtを、追加する必要があります
CMakeLists.txt
cmake_minimum_required(バージョン3.3)
セット(TARGET_MODULE_NAME "こんにちは")
プロジェクト($ {} TARGET_MODULE_NAME)
include_directories($ {CMAKE_JS_INC})
ファイル(GLOB SOURCE_FILES ./src/*.cpp ./src/*.hpp)
add_library($ {PROJECT_NAME} SHARED $ {SOURCE_FILES} $ {CMAKE_JS_SRC})
set_target_properties($ {PROJECT_NAME} PROPERTIES PREFIX ""サフィックス".nodeファイル" )
target_link_libraries($ {PROJECT_NAME} $ {CMAKE_JS_LIB})
そして、編集package.json
Hello.node本質的にダイナミックリンクライブラリである最終生成モジュール(DLL)
Hello.nodeは./build/Release(cmakeの-jsからリリースデフォルトモード)で見ることができます
testsディレクトリにcmdと入力し、コマンドノードは世界に成功ハローをtest.js使用