Rsbuild 支持在代码引用 WebAssembly 资源。
WebAssembly(缩写为 wasm)是一种可移植、高性能的字节码格式,被设计用来在现代 Web 浏览器中执行 CPU 密集型计算任务,为 Web 平台带来了接近本地编译代码的性能和可靠性。
你可以直接在 JavaScript 文件中引用一个 WebAssembly 模块:
也可以通过 dynamic import 来引用 WebAssembly 模块:
还可以通过 new URL
语法来获取 WebAssembly 模块的路径:
当 .wasm
资源被引用后,默认会被 Rsbuild 输出到 dist/static/wasm
目录下。
你可以通过 output.distPath 配置项来修改 .wasm
产物的输出目录。
当你在 TypeScript 代码中引用 Wasm 文件时,通常需要添加相应的类型声明。
比如 add.wasm
文件导出了 add()
方法,那么你可以在同级目录下创建一个 add.wasm.d.ts
文件,并添加相应的类型声明: