Wasm 源阶段导入


\Wasm Source Phase Imports

稳定性: 1.2 - 发布候选

\Stability: 1.2 - Release candidate

新增于: v24.0.0

源阶段导入 提案允许使用 import source 关键字组合直接导入 WebAssembly.Module 对象,而不是获取已实例化依赖的模块实例。

\The Source Phase Imports proposal allows the import source keyword combination to import a WebAssembly.Module object directly, instead of getting a module instance already instantiated with its dependencies.

当需要 Wasm 的自定义实例,同时仍通过 ES 模块集成解析和加载它时,这非常有用。

\This is useful when needing custom instantiations for Wasm, while still resolving and loading it through the ES module integration.

例如,要创建模块的多个实例,或将自定义导入传递到 library.wasm 的新实例中:

\For example, to create multiple instances of a module, or to pass custom imports into a new instance of library.wasm:

import source libraryModule from './library.wasm';
const instance1 = await WebAssembly.instantiate(libraryModule, importObject1);
const instance2 = await WebAssembly.instantiate(libraryModule, importObject2); 

除了静态源阶段之外,还有一个通过 import.source 动态阶段导入语法实现的动态源阶段变体:

\In addition to the static source phase, there is also a dynamic variant of the source phase via the import.source dynamic phase import syntax:

const dynamicLibrary = await import.source('./library.wasm');
const instance = await WebAssembly.instantiate(dynamicLibrary, importObject); 

AltStyle によって変換されたページ (->オリジナル) /