2 个版本
新 0.1.1 | 2024 年 8 月 22 日 |
---|---|
0.1.0 | 2024 年 8 月 22 日 |
#42 在 #repl
14KB
273 行
Rusty Node.js REPL 🦀 🌳 🌀
$ cargo add rusty_node_repl
用法
将一些 JavaScript 放入字符串,并将其传递给 JsContext::repl
。该函数将返回发送到 stdout
的内容。
let mut context = Config::build()?.start()?;
let result = context.repl("console.log('Hello, world!');").await?;
assert_eq!(result, b"Hello, world!\n");
有关更深入的用法,请参阅 Rust Hypercore Replicator 中的测试 Rust Hypercore Replicator。
是什么?
通过 Node.js 从 Rust 运行任意代码的一种方式。
为什么?
这是为了 测试。当在 Node.js 相关的 Rust 项目上工作时,它可以使您将 JavaScript 与 Rust 一起放置。
此 crate 来自于实现 Hypercore JS 生态系统的一部分 Hypercore JS 生态系统,其中我需要测试 Rust 输出与 JavaScript。
lib.rs
:
此 crate 允许您从 Rust 中在 Node.js REPL 中运行任意代码。使用 Config
来设置 REPL 并使用 Repl
来与之交互。
let mut context: Repl = Config::build()?.start()?;
let result = context.repl("console.log('Hello, world!');").await?;
assert_eq!(result, b"Hello, world!\n");
context.stop().await?;
REPL 在自己的 tempfile::TempDir
中运行。因此,与它一起创建的任何文件在退出时都会被清理。
依赖关系
~6–17MB
~230K SLoC