Open1

Node.jsのN-APIネイティブモジュールを普通のCで作るメモ

okuokuokuoku

一般には node-gyp とか cmake-js が勧められているけど、前者はCMakeじゃないし、後者はあんまり使われている気がしないので、これら無しでやってみる。

TL;DR

  1. ヘッダは https://github.com/nodejs/node からコピー
  2. (Win32の場合) https://nodejs.org/dist/v14.15.4/win-x64/ から node.lib もDLしてコピー
  3. require にDLLのパスを渡せばロードされる
const lib = require("./out/build/x64-Debug/node-nccc") # 実際には node-nccc.node のファイル名

console.log(lib.hello())

簡単だけど公式ドキュメントのありかが謎だな。。 https://nodejs.org/api/n-api.html はAPIしかカバーしていないし。

https://github.com/okuoku/cwgl-proto/commit/765123781d45fa64bec5fcfbb8f9203749e45f64