Node-API 是用于构建 Node.js 原生加载项的接口。Bun 从头开始实现了此接口的 95%,因此大多数现有的 Node-API 扩展都可以直接在 Bun 中使用。在 此问题 中跟踪其完成状态。
与 Node.js 中一样,.node
文件(Node-API 模块)可以在 Bun 中直接加载。
const napi = require("./my-node-module.node");
或者,使用 process.dlopen
let mod = { exports: {} };
process.dlopen(mod, "./my-node-module.node");
Bun 填充了 detect-libc
包,许多 Node-API 模块使用该包来检测要 require
的 .node
绑定。