5 个不稳定版本
0.19.0 | 2024 年 7 月 11 日 |
---|---|
0.18.0 | 2024 年 3 月 7 日 |
0.17.3 | 2023 年 9 月 26 日 |
0.17.1 | 2023 年 9 月 26 日 |
0.17.0 | 2023 年 7 月 8 日 |
#229 in WebAssembly
1,254 每月下载量
用于 6 个 Crates(4 个直接使用)
4.5MB
81K SLoC
Boa 的 boa_runtime Crate 包含一个示例运行时以及为运行时实现者提供的 boa_engine
Crate 的基本运行时功能和功能。
示例:添加 Web API 的 Console 对象
- 将 boa_runtime 和 boa_engine 一起作为依赖项添加到您的项目中。
use boa_engine::{js_string, property::Attribute, Context, Source};
use boa_runtime::Console;
// Create the context.
let mut context = Context::default();
// Initialize the Console object.
let console = Console::init(&mut context);
// Register the console as a global property to the context.
context
.register_global_property(js_string!(Console::NAME), console, Attribute::all())
.expect("the console object shouldn't exist yet");
// JavaScript source for parsing.
let js_code = "console.log('Hello World from a JS code string!')";
// Parse the source code
match context.eval(Source::from_bytes(js_code)) {
Ok(res) => {
println!(
"{}",
res.to_string(&mut context).unwrap().to_std_string_escaped()
);
}
Err(e) => {
// Pretty print the error
eprintln!("Uncaught {e}");
# panic!("An error occured in boa_runtime's js_code");
}
};
依赖项
~12–19MB
~267K SLoC