首先 nodejs 提供了一个 demo 里面每个项目都包含
nan
: C++-based abstraction between Node and direct V8 APIs.N-API
: C-based API guaranteeing ABI stability across different node versions as well as JavaScript engines.node-addon-api
: header-only C++ wrapper classes which simplify the use of the C-based N-API.ok ok 知道了,3 种都能达到目的且 node-addon-api 的本质就是 N-API 的包装类 ,看看 3 种 hello-world
先复制一个 hello-world 的 demo 进来,yarn 一下 改改名字
ok gyp 报错了,我是 win10 系统 装个亲切的 Visual Studio 2019 选上 C++ 的桌面开发 然后
npm install -g node-gyp node-gyp configure --msvs_version=2019 npm config set msvs_version 2019 还要装个 python 真的烦 安装教程 我们也可以用 admin 的 Power Shell 直接
npm install --global windows-build-tools
里面 python 啥的都有 不过是 2.7 版本的 msvs_version 版本还是要手动指向的
这样,我们的 hello-world 就可以跑了
我尝试了一下直接用 node debug 是进不了 cpp 代码的
binding 我试了一下,感觉他就是在生成的一大堆文件里面找 .node 的一个包
binding.gyp 的 target_name 就是 在调用 js binding 部分的入参
装了 vscode 的 cpp 插件 之后,智能提示也有了
ok 就先这样吧