Astro でローカル画像表示

このブログを astro-notion-blog へ移行中、 public 配下に置いた画像が読み込まれなくて調べた備忘録。

before

<img src='../../public/icon.png' width="170">
src/components/Hoge.astro

astro ファイルからの相対パスで public 配下の画像を指定していた。

Image in a image block

ローカルでは表示されたがビルド後には表示されなかった。

after

公式ドキュメントによると

In .astro files
<!-- Local image stored at public/assets/stars.png --> <img src="/assets/stars.png" alt="A starry night sky.">

だそうで、public 以降の URL で指定してあげればいいらしい。

今回は public/icon.png なので

<img src='/icon.png' width="170">
src/components/Hoge.astro

とすることで…

Image in a image block

無事解決した 🎉