WebAssemblyとは?〜実際にC言語をブラウザで動かす〜【2019年6月版】 #JavaScript - Qiita
https://umamichi.github.io/wasm/
このページにあるwasmをとりあえず動かしてみた。
失敗:サーバーを立てるのをサボろうとした
https://umamichi.github.io/wasm/で読み込んでいるsample.wasmと、上記qiitaに書いてあるhtmlを、
適当なローカルフォルダに保存。wasmとhtmlは同一フォルダに配置。
htmlファイルをchromeで開き、開発者ツールを見ると、下記のようなエラーが発生していた。
Access to fetch at 'file:///C:/Users/~~~~~~sample.wasm' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome, https, chrome-untrusted.
wasmの動かし方を紹介しているページでやたらとサーバーを立てているのは、CORSエラーが出るからだったようだ。
成功:pythonでサーバーを立てた
ローカルでhttpサーバを動かす方法メモ #HTTP - Qiita に紹介されている通り、
コマンドプロンプトでwasmとhtmlを保存したフォルダに移動し、"python -m http.server"を実行。
ブラウザで"http://localhost:8000/"にアクセスすると、https://umamichi.github.io/wasm/ と同様の画面が出た。
開発者ツールを開いてもCORSエラーは無かった。
ページ内のボタンをクリックするとコンソールの数字がカウントアップされ、正常に動作した。