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
3.5MB
69K SLoC
包含 (Mach-o 可执行文件, 215KB) nanny.o, (Mach-o 可执行文件, 31KB) build/Release/nanny.node
Rust 绑定库,用于编写安全且快速的 Node.js 原生插件。
入门
一旦安装了 平台依赖项,开始使用就非常简单
$ npm init neon my-project
然后查看 Hello World 指南,学习如何在 Neon 中编写第一个 Hello World!
文档
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
许可证
在以下任一许可证下授权:
- Apache License, Version 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。