TL;DR
ビルドの成果物である WebAssembly のファイルのこと。
仕組み
WebAssembly Module は、次のセクションで構成される。
- type section: 関数のシグネチャを定義する
- code section: 関数の本体を定義する
- function section: type section と code section を結びつけて関数を定義する。定義した関数は、モジュール内の関数から呼ばれるか、モジュールの外から呼ばれる
- export section: モジュールの外から呼ばれる関数を定義する
- import section: モジュール内で使う、外部の関数を定義する
注意点
構造を持つデータの表現を定めていないので、モジュールどうしや JavaScript との間で複雑なデータをやり取りしにくい。これを解決するのが WebAssembly Component Model である。