#nodejs #node #js #native #bindings #v8 #module

sys nanny-sys

为nanny提供了Node和V8 C++ API的使用权限

6 个版本

使用旧的 Rust 2015

0.0.6 2015年12月2日
0.0.5 2015年11月12日
0.0.3 2015年10月13日
0.0.1 2015年9月19日

#22 in #v8


用于 nanny

MIT 许可证

3.5MB
69K SLoC

JavaScript 49K SLoC // 0.1% comments Python 19K SLoC // 0.3% comments Emacs Lisp 258 SLoC // 0.1% comments C++ 241 SLoC // 0.1% comments Rust 173 SLoC // 0.0% comments Shell 125 SLoC // 0.2% comments Bitbake 52 SLoC // 0.5% comments C 40 SLoC // 0.2% comments Batch 8 SLoC

包含 (Mach-o 可执行文件, 215KB) nanny.o, (Mach-o 可执行文件, 31KB) build/Release/nanny.node

neon

Cargo Test Status Lint Status

Rust 绑定库,用于编写安全且快速的 Node.js 原生插件。

入门

一旦安装了 平台依赖项,开始使用就非常简单

$ npm init neon my-project

然后查看 Hello World 指南,学习如何在 Neon 中编写第一个 Hello World!

文档

查看我们的 Neon 基础文档 和我们的 API 文档

Neon 1.0.0 迁移指南

Neon 的最新版本 1.0.0 包含了一些破坏性变更,以修复不稳定性,提高一致性,并添加功能。

阅读新的 迁移指南,了解如何将 Neon 项目迁移到 1.0.0!

平台支持

操作系统

Linux macOS Windows

Node.js

Node 18 Node 20 Node 21

支持 Node 的 LTS 版本 和当前版本。如果您使用的是 Node 的不同版本并且认为应该支持,请告知我们。

Bun (实验性)

Bun 是一个替代的 JavaScript 运行时,针对 Node 兼容性。在许多情况下,Neon 模块将在 bun 中工作;然而,在撰写本文时,一些 Node-API 函数尚未实现。

Rust

Neon 支持 Rust 稳定版 1.65 及更高版本。我们在最新稳定版、测试版和夜间版 Rust 上进行测试。

一瞥...

fn make_an_array(mut cx: FunctionContext) -> JsResult<JsArray> {
    // Create some values:
    let n = cx.number(9000);
    let s = cx.string("hello");
    let b = cx.boolean(true);

    // Create a new array:
    let array = cx.empty_array();

    // Push the values into the array:
    array.set(&mut cx, 0, n)?;
    array.set(&mut cx, 1, s)?;
    array.set(&mut cx, 2, b)?;

    // Return the array:
    Ok(array)
}

#[neon::main]
fn main(mut cx: ModuleContext) -> NeonResult<()> {
    cx.export_function("make_an_array", make_an_array)?;
    Ok(())
}

有关更多示例,请参阅我们的 示例仓库集成测试

参与其中

Neon 社区刚刚起步,有很多乐趣可寻。来玩吧! :)

Neon 社区 Slack 对所有人开放;使用 此邀请链接 获取邀请。

测试 Neon

Neon 项目既是 NPM 工作区,也是 Cargo 工作区。可以通过安装和测试 NPM 工作区来执行完整的测试套件。

npm install
npm test

可以使用 npm 工作区命令测试单个 JavaScript 软件包

npm --workspace=create-neon test

可以使用 cargo 工作区命令测试单个 Rust 包

cargo test -p neon-build

许可证

在以下任一许可证下授权:

由您选择。

依赖项