nodejs中のhelloworldのC ++アドオン出力付き

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 World" の、
  "メイン": "テスト/ test.js"、
  "依存性":{}、
  "スクリプト":{
    "インストール": "cmakeの-jsからコンパイル"、
    「テスト」:「モカ・テスト」
  }、
  "キーワード":[
    "芯"
  ]、
  "著者": "maomao"、
  "ライセンス": "UNLICENSED"、
  "gypfile":真、
  "devDependencies":{
    "バインディング": "^ 1.5.0"、
    "cmakeの-JS": "^ 5.2.0"、
    "モカ": "^ 6.1.4"、
    "ナン": "^ 2.14.0"
  }
}

 

Hello.node本質的にダイナミックリンクライブラリである最終生成モジュール(DLL)

Hello.nodeは./build/Release(cmakeの-jsからリリースデフォルトモード)で見ることができます

testsディレクトリにcmdと入力し、コマンドノードは世界に成功ハローをtest.js使用

おすすめ

転載: www.cnblogs.com/Sseakompp/p/12073936.html