JavaScript 互操作性
Trunk 将创建必要的 JavaScript 代码来引导和运行基于 WebAssembly 的应用程序。它还将包含 wasm-bindgen
生成的所有 JavaScript 代码片段,用于与 JavaScript 功能进行交互。
默认情况下,使用 wasm-bingen
从 Rust 导出的函数可以通过全局变量 window.wasmBindings
在 JavaScript 代码中访问。此行为可以禁用,并且名称可以自定义。有关更多信息,请参阅 rust
资产类型。
初始化顺序
只有在应用程序初始化完成后,绑定才会可用并工作。
如果您的 WebAssembly 应用程序将代码渲染到网页/DOM 树中,然后从 JavaScript 调用到 WebAssembly 应用程序,则这不会成为问题,因为应用程序已经初始化。
但是,如果您想从例如 index.html
文件本身调用到 WebAssembly 应用程序,则必须延迟该调用,直到应用程序启动。
这可以通过使用 TrunkApplicationStartup
事件执行该代码来确保。另请参阅 启动事件。