気まぐれ備忘録

node.jsのC++アドオンを実装してみた

実装

1.必要ライブラリの導入

下記をインストール。グローバルインストールである点に注意。


❯ yarn global add yo
❯ yarn global add generator-napi-module

2.ディレクトリの初期化作業

ライブラリの開発ディレクトリで下記を実行。


❯ yo napi-module

すると、対話式に下記を聞かれるので、回答する。


package name: (nodejs_cpp_addon_sample) 
version: (1.0.0) 
description: 
git repository: git@github.com:up-tri/nodejs_cpp_addon_sample.git
keywords: 
author: up-tri<yaki-shake@up-tri.me>
license: (ISC) MIT
About to write to /path/to/dir/package.json:
... (※package.json の内容が表示される)

初期化が完了すると、開発に必要なファイル群が配置される。


❯ tree . -d -L 3 -I "node_modules" 
.
├── build
│   └── Release
│   └── obj.target
├── lib
├── src
└── test

 

VSCodeに「ソース ファイルを開けません “node_api.h” (dependency of “napi.h”)C/C++(1696)」と怒られるが問題ない。

3.ビルド

yarn でビルドできる。

生成結果は /build 配下にできあがる。なので /build配下はgitの追跡からは図しておくと吉。

参考

https://napi.inspiredware.com/getting-started/objectwrap.html