[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5526":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":24,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":15,"starSnapshotCount":15,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},5526,"wasm-bindgen","wasm-bindgen\u002Fwasm-bindgen","Facilitating high-level interactions between Wasm modules and JavaScript","https:\u002F\u002Fwasm-bindgen.github.io\u002Fwasm-bindgen\u002F",null,"Rust",9031,1217,93,472,0,3,15,50,10,40.26,"Apache License 2.0",false,"main",true,[26,27,28,29,30],"binding-generator","javascript","rust","rust-wasm","wasm","2026-06-12 02:01:11","\u003Cdiv align=\"center\">\n\n  \u003Ch1>\u003Ccode>wasm-bindgen\u003C\u002Fcode>\u003C\u002Fh1>\n\n  \u003Cp>\n    \u003Cstrong>Facilitating high-level interactions between Wasm modules and JavaScript.\u003C\u002Fstrong>\n  \u003C\u002Fp>\n\n  \u003Cp>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwasm-bindgen\u002Fwasm-bindgen\u002Factions\u002Fworkflows\u002Fmain.yml?query=branch%3Amain\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwasm-bindgen\u002Fwasm-bindgen\u002Factions\u002Fworkflows\u002Fmain.yml\u002Fbadge.svg?branch=main\" alt=\"Build Status\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fcrates.io\u002Fcrates\u002Fwasm-bindgen\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fwasm-bindgen.svg?style=flat-square\" alt=\"Crates.io version\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fcrates.io\u002Fcrates\u002Fwasm-bindgen\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fd\u002Fwasm-bindgen.svg?style=flat-square\" alt=\"Download\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fdocs.rs\u002Fwasm-bindgen\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-latest-blue.svg?style=flat-square\" alt=\"docs.rs docs\" \u002F>\u003C\u002Fa>\n  \u003C\u002Fp>\n\n  \u003Ch3>\n    \u003Ca href=\"https:\u002F\u002Fwasm-bindgen.github.io\u002Fwasm-bindgen\u002F\">Guide (main branch)\u003C\u002Fa>\n    \u003Cspan> | \u003C\u002Fspan>\n    \u003Ca href=\"https:\u002F\u002Fdocs.rs\u002Fwasm-bindgen\">API Docs\u003C\u002Fa>\n    \u003Cspan> | \u003C\u002Fspan>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwasm-bindgen\u002Fwasm-bindgen\u002Fblob\u002Fmain\u002FCONTRIBUTING.md\">Contributing\u003C\u002Fa>\n    \u003Cspan> | \u003C\u002Fspan>\n    \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FxMZ7CCY\">Chat\u003C\u002Fa>\n  \u003C\u002Fh3>\n\n  \u003Csub>Built with 🦀🕸 by \u003Ca href=\"https:\u002F\u002Frustwasm.github.io\u002F\">The Rust and WebAssembly Working Group\u003C\u002Fa>\u003C\u002Fsub>\n\u003C\u002Fdiv>\n\n## Install `wasm-bindgen-cli`\n\nYou can install it using `cargo install`:\n\n```\ncargo install wasm-bindgen-cli\n```\n\nOr, you can download it from the\n[release page](https:\u002F\u002Fgithub.com\u002Fwasm-bindgen\u002Fwasm-bindgen\u002Freleases).\n\nIf you have [`cargo-binstall`](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fcargo-binstall) installed,\nthen you can install the pre-built artifacts by running:\n\n```\ncargo binstall wasm-bindgen-cli\n```\n\n## Example\n\nImport JavaScript things into Rust and export Rust things to JavaScript.\n\n```rust\nuse wasm_bindgen::prelude::*;\n\n\u002F\u002F Import the `window.alert` function from the Web.\n#[wasm_bindgen]\nextern \"C\" {\n    fn alert(s: &str);\n}\n\n\u002F\u002F Export a `greet` function from Rust to JavaScript, that alerts a\n\u002F\u002F hello message.\n#[wasm_bindgen]\npub fn greet(name: &str) {\n    alert(&format!(\"Hello, {}!\", name));\n}\n```\n\nUse exported Rust things from JavaScript with ECMAScript modules!\n\n```js\nimport { greet } from \".\u002Fhello_world\";\n\ngreet(\"World!\");\n```\n\n## Features\n\n* **Lightweight.** Only pay for what you use. `wasm-bindgen` only generates\n  bindings and glue for the JavaScript imports you actually use and Rust\n  functionality that you export. For example, importing and using the\n  `document.querySelector` method doesn't cause `Node.prototype.appendChild` or\n  `window.alert` to be included in the bindings as well.\n\n* **ECMAScript modules.** Just import WebAssembly modules the same way you would\n  import JavaScript modules. Future compatible with [WebAssembly modules and\n  ECMAScript modules integration][wasm-es-modules].\n\n* **Designed with the [\"Web IDL bindings\" proposal][webidl-bindings] in mind.**\n  Eventually, there won't be any JavaScript shims between Rust-generated wasm\n  functions and native DOM methods. Because the Wasm functions are statically\n  type checked, some of those native methods' dynamic type checks should become\n  unnecessary, promising to unlock even-faster-than-JavaScript DOM access.\n\n[wasm-es-modules]: https:\u002F\u002Fgithub.com\u002FWebAssembly\u002Fesm-integration\n[webidl-bindings]: https:\u002F\u002Fgithub.com\u002FWebAssembly\u002Fproposals\u002Fissues\u002F8\n\n## Guide\n\n[**📚 Read the `wasm-bindgen` guide here! 📚**](https:\u002F\u002Fwasm-bindgen.github.io\u002Fwasm-bindgen\u002F)\n\n## API Docs\n\n- [wasm-bindgen](https:\u002F\u002Fdocs.rs\u002Fwasm-bindgen)\n- [js-sys](https:\u002F\u002Fdocs.rs\u002Fjs-sys)\n- [web-sys](https:\u002F\u002Fdocs.rs\u002Fweb-sys)\n- [wasm-bindgen-futures](https:\u002F\u002Fdocs.rs\u002Fwasm-bindgen-futures)\n\n## MSRV Policy\n\n* Libraries that are released on [crates.io](https:\u002F\u002Fcrates.io) have a MSRV of v1.77.\n* CLI tools and their corresponding support libraries have a MSRV of v1.86.\n\nThe project aims to maintain a 2-year MSRV policy for libraries (meaning we support Rust versions released within the last 2 years), but with a shorter MSRV policy for the CLI. Changes to the MSRV may be made in patch versions, and will be logged in the CHANGELOG and MSRV history below.\n\n### MSRV History\n\n| Version | Library MSRV | CLI MSRV | Date       |\n|---------|--------------|----------|------------|\n| 0.2.118 | 1.77         | 1.86     | 2026-04-10 |\n| 0.2.106 | 1.71         | 1.82     | 2025-11-27 |\n| 0.2.103 | 1.57         | 1.82     | 2025-09-17 |\n| 0.2.93  | 1.57         | 1.76     | 2024-08-13 |\n\n## License\n\nThis project is licensed under either of\n\n * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or\n   http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or\n   http:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n\nat your option.\n\n## Contribution\n\n**[See the \"Contributing\" section of the guide for information on hacking on `wasm-bindgen`!][contributing]**\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in this project by you, as defined in the Apache-2.0 license,\nshall be dual licensed as above, without any additional terms or conditions.\n\n[contributing]: https:\u002F\u002Fwasm-bindgen.github.io\u002Fwasm-bindgen\u002Fcontributing\u002Findex.html\n","wasm-bindgen 是一个用于促进 Wasm 模块与 JavaScript 之间高级交互的工具。它通过生成绑定代码来简化 Rust 编写的 WebAssembly 模块与 JavaScript 的互操作性，支持导入 JavaScript 功能到 Rust 中以及将 Rust 函数导出给 JavaScript 使用。项目采用 Rust 语言编写，具有轻量级特性，仅生成实际使用的绑定和胶水代码，并且支持 ECMAScript 模块，使得 WebAssembly 模块可以像 JavaScript 模块一样被导入。wasm-bindgen 适用于需要在 Web 应用中利用 WebAssembly 性能优势同时保持良好 JavaScript 兼容性的场景。",2,"2026-06-11 03:03:48","top_language"]