WebAssemblyプロジェクトでのビルド時の一般的な問題と、それらを回避する方法について解説します。よくあるエラーが以下です。
Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of “application/wasm”. Strict MIME type checking is enforced for module scripts per HTML spec.
これは以下でビルドしている時におきます。
wasm-pack build
WebAssemblyビルドの解決法
wasm-pack build --target web
wasm-pack
を使用してWeb向けにビルドする際、--target web
オプションを使用することをおすすめします。このオプションを指定することで、WebAssemblyモジュールをブラウザで実行可能な形式に変換して生成することができます。--target web
を指定しない場合、生成されたWebAssemblyモジュールがブラウザで正しく実行されない可能性があります。
--target web
オプションを指定することで、生成されるファイルにはWeb向けのラッパーコードも含まれ、JavaScriptから簡単にWebAssemblyモジュールを呼び出すことができるようになります。これにより、ブラウザでの実行がスムーズに行えるようになります。
したがって、Web向けにビルドする際は、できるだけwasm-pack build --target web
コマンドを使用することをおすすめします。