#v8 #deno #模块 #操作 #运行时 #写入 #未来

rw-deno_core

使用 V8、Rust 和 Tokio 构建的现代化 JavaScript/TypeScript 运行时

1 个不稳定版本

0.272.0+修补2024年5月23日

#568异步

MIT 许可证

1MB
31K SLoC

Deno Core Crate

crates docs

此 crate 的主要依赖是 rusty_v8,它提供了 V8-Rust 绑定。

此 Rust crate 包含 Deno 命令行界面 (Deno CLI) 的基本 V8 绑定。这里的主要抽象是 JsRuntime,它提供了一种执行 JavaScript 的方式。

JsRuntime 实现了一个事件循环抽象,用于跟踪所有挂起的任务(异步操作、动态模块加载)。用户的责任是通过使用 JsRuntime::run_event_loop 方法来驱动该循环 - 它必须在 Rust 的未来执行器(例如 tokio、smol)的上下文中执行。

可以使用 deno_core::extension! 宏在 JavaScript 中注册 Rust 函数。编写 ops 的传统方法是使用 deno_ops crate。

目前此 crate 的文档很少。请参阅 hello_world.rseval_js_value.rs 作为使用示例。

此层不支持 TypeScript 以及许多其他功能。请参阅 CLI

依赖关系

~90MB
~2M ~2M SLoC