促进wasm模块和JavaScript之间的高级交互.
rustwasm/wasm-bindgen/guide 原文 commit ⏰ 2018 7.7 12:
- 使用 translate-mds 完成✅翻译初稿
If help, buy me coffee —— 营养跟不上了,给我来瓶营养快线吧! 💰
- ⏰ 开始 2018 7.4 12:00
本项目的 文档在
guide
文件夹 中 的*.zh.md
欢迎 Issue
和 Pull
❤️, 最好是 Pull
👏
介绍博客文章: "从JavaScript变rust再回来: wasm-bindgen
故事"
将JavaScript内容导入Rust, 并将Rust内容导出为JavaScript.
src/lib.rs
:
#![feature(proc_macro, wasm_custom_section, wasm_import_module)]
extern crate wasm_bindgen;
use wasm_bindgen::prelude::*;
//从浏览器 Web 导入 the `window.alert` 函数
#[wasm_bindgen]
extern {
fn alert(s: &str);
}
// 从 Rust 的 `greet` 函数 导出到 js, 这会变成 alert 一个 Hello messages
#[wasm_bindgen]
pub fn greet(name: &str) {
alert(&format!("Hello, {}!", name));
}
使用 Rust 导出的JavaScript!
index.js
:
// 异步 加载, 编译, 和 导入 Rust's WebAssembly
// 还有 JavaScript 接口.
import("./hello_world").then(module => {
// Alert "Hello, World!"
module.greet("World!");
});
该项目是根据任何一个许可的
- Apache License,Version 2.0, (许可证APACHE要么http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT要么http://opensource.org/licenses/MIT)
根据你的选择.
有关 hack in 的信息,请参阅指南的"贡献"部分wasm-bindgen
!
除非您明确说明,否则您按照Apache-2.0许可证
的规定有意提交包含在本项目中的任何贡献
应按上述方式进行双重许可,
不附加任何其他条款或条件.