268 个破坏性发布

新功能 0.306.0 2024年8月21日
0.304.0 2024年8月19日
0.300.0 2024年7月29日
0.272.0 2024年3月21日
0.0.1 2019年9月13日

#618 in 网页编程

Download history • Rust 包仓库 10473/week @ 2024-05-03 • Rust 包仓库 13406/week @ 2024-05-10 • Rust 包仓库 19622/week @ 2024-05-17 • Rust 包仓库 16796/week @ 2024-05-24 • Rust 包仓库 12151/week @ 2024-05-31 • Rust 包仓库 18697/week @ 2024-06-07 • Rust 包仓库 15957/week @ 2024-06-14 • Rust 包仓库 13026/week @ 2024-06-21 • Rust 包仓库 15322/week @ 2024-06-28 • Rust 包仓库 12537/week @ 2024-07-05 • Rust 包仓库 9534/week @ 2024-07-12 • Rust 包仓库 12181/week @ 2024-07-19 • Rust 包仓库 10818/week @ 2024-07-26 • Rust 包仓库 9143/week @ 2024-08-02 • Rust 包仓库 14249/week @ 2024-08-09 • Rust 包仓库 16158/week @ 2024-08-16 • Rust 包仓库

52,566 每月下载量
用于 141 个crate(114 个直接使用)

MIT 许可证

1.5MB
33K 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

依赖项

~84MB
~1.5M SLoC