wasm-bindgen
Facilitating high-level interactions between wasm modules and JavaScript.
Introduction blog post: "JavaScript to Rust and Back Again: A wasm-bindgen
Tale"
Import JavaScript things into Rust and export Rust things to JavaScript.
src/lib.rs
:
```rust
extern crate wasmbindgen; use wasmbindgen::prelude::*;
// Import the window.alert
function from the Web.
extern { fn alert(s: &str); }
// Export a greet
function from Rust to JavaScript, that alerts a
// hello message.
pub fn greet(name: &str) { alert(&format!("Hello, {}!", name)); } ```
Use exported Rust things from JavaScript!
index.js
:
js
// Asynchronously load, compile, and import the Rust's WebAssembly
// and JavaScript interface.
import("./hello_world").then(module => {
// Alert "Hello, World!"
module.greet("World!");
});
📚 Read the wasm-bindgen
guide here! 📚
This project is licensed under either of
at your option.
See the "Contributing" section of the guide for information on
hacking on wasm-bindgen
!
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.