blazor wasm版を公開してみた。
こちらは、blazor Server Side版と異なり、dotnet publishで作成されたフォルダをそのまま、Webサイトにコピーするだけだ。
ただし、Web Assembly(.wasm)のMimeタイプをWebサーバに登録する必要がある。
とりあえず、コピーするフォルダだが、以下となる。
<アプリケーションルート>/bin/Release/<対象フレームワーク>/publish/<アプリケーション名>/dist
このフォルダーの中身を全て、HTTPサーバの公開フォルダにコピーする。
なお、公開する際に気を付けなければいけないのは、wwwroot/index.html中の<basse>タグの扱いだ。デフォルトでは、<base href=”/”>となっていて、HTTPサーバのドキュメントルートを使用する設定になっている。コンテンツの配置先が、サブフォルダの場合、このままでは、ルーティングできないため、エラーとなってしまう。その場合は、<base>タグの値をサブフォルダ込みに変更しよう。
また、HTTPDの設定だが、Apache HTTPDの場合、以下のような設定追加が必要。
# Mime Typeの追加
AddType application/wasm .wasm
AddType application/octet-stream .dll
# 圧縮の設定(必須ではないが、MSのサイトには例として載っている)
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/octet-stream
AddOutputFilterByType DEFLATE application/wasm
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
</IfModule>
</IfModule>
以上で、blazor wasm版をHTTPD経由でアクセスする事が可能となる。
ちなみに、今回公開したのは、下記URL。
http://blazor.ohwaki.jp/canvas
以上、blazor Server Side版より簡単に公開可能。