正在阅读有关Wasm的MDN文档。他们多次使用术语WASM模块。他们的定义如下:
WebAssembly.Module对象包含无状态的WebAssembly代码,该代码 已被浏览器编译并可以有效共享 与Workers一起实例化多次。实例化 模块,调用WebAssembly.instantiate()的次级重载。
我不太明白这个意思。 Web程序集模块仅仅是Wasm文件还是其他文件?
答案 0 :(得分:4)
WebAssembly是可以在现代浏览器中执行的低级代码形式。为了执行此代码,浏览器必须对其进行编译,尽管由于它是低级的,所以与JavaScript相比,该编译相对较快且简单。
WebAssembly API将编译步骤与实例化和执行步骤分开。因此,WebAssembly模块是WebAssembly代码(您所引用的wasm文件)的编译版本,可以实例化和执行。
答案 1 :(得分:3)
什么是Web程序集?
Web Assembly(Wasm)是一种获取用JavaScript以外的编程语言编写的代码并在浏览器中运行该代码的方法。
它是由编译器以二进制格式生成的,它使我们能够在浏览器上执行任何语言代码
它如何工作?
尽管WebAssembly名叫WebAssembly,但它并不是一种汇编语言,因为它并不适用于任何特定的计算机。它是供浏览器使用的,当您交付要在浏览器中执行的代码时,您不知道您的代码将在哪种计算机上运行。
WebAssembly使您能够执行的工作是获取C,C ++或Rust代码之类的东西,并将其编译为WebAssembly模块。您可以将其加载到Web应用程序中,然后从JavaScript调用它。
Wasm程序分两个阶段部署。
它不能替代JavaScript,可以与JavaScript一起使用。
Here是一篇很棒的文章,其中有更多详细信息。