[JavaScript] キャッシュのせいで古い情報がロードされ続けることへの対処
現象
こういうソースがあったとする
const fromFile = await fetch(`/path/file`).then(res => res.text());
このとき、fromFile には /path/file の内容が入る
ここで、/path/file
の内容を更新したが、サーバーの設定や構成によっては、ファイルは確かに更新されているが、fromFile
には古い情報が入り続ける場合もある
この現象は正にこのページを表示しているプログラムで発生した
さくらのレンタルサーバサービスで再現性あり
解決案
URLが異なればキャッシュは使われない
そのため、URLのクエリとして適当に日付を組み込むことで、キャッシュ利用を回避できる
const fromFile = await fetch(`/path/file?a=${Date.now()}`).then(res => res.text());