tauriでWindows上でproductionビルドでのみ画像が表示されない(fetchエラーが発生する)
目次
tauriでWindows上でproductionビルドでのみ画像が表示されない(fetchエラーが発生する)
#(2021-12-25)
誰の役にも立たない気がするけどハマったのでメモ
#起こったこと
tauri devで表示されていた画像がtauri buildでビルドしたバイナリではなぜか表示されなかった- Windowsでのみ起きてwsl上のLinuxでは起きなかった
- 試しに
tauri.conf.jsonでdevPathにビルド済みのアセットのローカルパスを書いてtauri devで起動してみたところ問題が再現
#原因 (2021-12-25)
net::ERR_TOO_MANY_REDIRECTSというエラーが発生していた- 読み込んでいた画像はhttpsでアクセスするとhttpにリダイレクトするようになっていた
- dev serverは通常 http://localhost:xxxx のurl上にあるが、tauriではローカルアセットを読み込むときに https://tauri.localhost というurlが内部で使われる
- そしてWindows上のWebview2(というかChromium)は現在httpとhttpsの混合コンテンツをブロックし、https上のページではhttpリクエストが自動でhttpsにアップグレードされる
- なのでhttp->https->httpの無限ループが発生し上記のエラーが発生していた
#解決策 (2021-12-25)
@tauri-apps/apiのfetchを使う- ローカルアセットでもhttpを使わせることは難しそう