js_name = Blah
js_name
属性可用于在 JS 中导出与 Rust 中名称不同的名称。它可以应用于导出的 Rust 函数和类型。
例如,这通常用于将 Rust 的蛇形命名法转换为 JavaScript 的驼峰命名法
#![allow(unused)] 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)] fn main() { #[wasm_bindgen(js_name = Foo)] pub struct JsFoo { // .. } }
访问方式为
import { Foo } from './my_module';
// ...
请注意,将方法附加到 JS 类 Foo
应通过 js_class
属性 完成
#![allow(unused)] fn main() { #[wasm_bindgen(js_name = Foo)] pub struct JsFoo { /* ... */ } #[wasm_bindgen(js_class = Foo)] impl JsFoo { // ... } }