js_name = Blah
js_name
属性可用于在 JS 中导出与 Rust 中不同的名称。它可以应用于导出的 Rust 函数和类型。
例如,这通常用于将 Rust 的蛇形命名法转换为 JavaScript 的驼峰命名法
# #![allow(unused_variables)] #fn main() { #[wasm_bindgen(js_name = doTheThing)] pub fn do_the_thing() -> u32 { 42 } #}
这可以在 JavaScript 中使用如下
import { doTheThing } from './my_module';
const x = doTheThing();
console.log(x);
与导入类似,js_name
也可用于重命名导出到 JS 的类型
# #![allow(unused_variables)] #fn main() { #[wasm_bindgen(js_name = Foo)] pub struct JsFoo { // .. } #}
可访问如下
import { Foo } from './my_module';
// ...
注意,将方法附加到 JS 类 Foo
应通过 js_class
属性 完成
# #![allow(unused_variables)] #fn main() { #[wasm_bindgen(js_name = Foo)] pub struct JsFoo { /* ... */ } #[wasm_bindgen(js_class = Foo)] impl JsFoo { // ... } #}