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 网页编程
52,566 每月下载量
用于 141 个crate(114 个直接使用)
1.5MB
33K SLoC
Deno Core Crate
此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.rs和eval_js_value.rs作为使用示例。
本层不支持TypeScript和其他许多功能。请参阅CLI。
依赖项
~84MB
~1.5M SLoC