Node.js 原生插件:node_api.h 在哪里?

Node.js native addons: where is node_api.h located?

我正在尝试为 Node.js 创建一个原生插件,当我包含

#include <napi.h>

VS Code 的 Intelli Sense 说它无法检测到 node_api.h 的位置(它包含在 napi.h 中)。

node-gyp build 运行良好并且可以编译。但是我不明白 header 在系统中的什么位置以及 node-gyp 从哪里得到的?我需要将路径添加到 Intelli Sense 选项,以便更好地理解一般的构建过程。

我正在玩 this code example

你应该看看 node-addon-api 模块。

可以通过 require('node-addon-api').include 包含 headers 或者您可以在 node_modules/node-addon-api 文件夹中找到它。

https://github.com/nodejs/node-addon-api/blob/master/doc/setup.md

我 运行 在磁盘 C 上进行了全面搜索(我在 Windows 10),发现 header 文件 node_api.h 位于

C:\Users\<UserName>\AppData\Local\node-gyp\Cache\<NodeVersion>\include\node

以及其他 header,例如 v8.h

如果删除该文件夹,node-gyp build 将不再有效。 node-gyp configure 再次下载所有 header 并恢复上述文件夹。

您使用的是 Microsoft 的扩展程序 ms-vscode.cpptools 吗?然后你应该将 napi 使用的头文件的路径添加到 VSCode 中的包含路径: 将光标移到包含错误的包含行上 -> 选择“快速修复” -> 应该有一个用于设置包含路径选项的选项(确切的命名是特定于语言的) -> 新选项卡打开,在“包含路径”下添加路径

头文件位于 appdata 中,如 RussCoder 所述。

或者查看: https://code.visualstudio.com/docs/cpp/customize-default-settings-cpp