JavaScript 互操作性

Trunk 将创建必要的 JavaScript 代码来引导和运行基于 WebAssembly 的应用程序。它还将包含 wasm-bindgen 生成的所有 JavaScript 代码片段,用于与 JavaScript 功能进行交互。

默认情况下,使用 wasm-bingen 从 Rust 导出的函数可以通过全局变量 window.wasmBindings 在 JavaScript 代码中访问。此行为可以禁用,并且名称可以自定义。有关更多信息,请参阅 rust 资产类型

初始化顺序

只有在应用程序初始化完成后,绑定才会可用并工作。

如果您的 WebAssembly 应用程序将代码渲染到网页/DOM 树中,然后从 JavaScript 调用到 WebAssembly 应用程序,则这不会成为问题,因为应用程序已经初始化。

但是,如果您想从例如 index.html 文件本身调用到 WebAssembly 应用程序,则必须延迟该调用,直到应用程序启动。

这可以通过使用 TrunkApplicationStartup 事件执行该代码来确保。另请参阅 启动事件