1. ホーム
  2. javascript

[解決済み] クライアントにJavaScriptファイルを強制的に更新させるには?

2022-03-15 07:36:04

質問

現在、プライベート・ベータ版で作業しているため、かなり迅速な変更を行っている最中ですが、明らかに利用が増え始めているため、このプロセスを減速させる予定です。 とはいえ、1つの問題として、新しい JavaScript ファイルを含むアップデートをプッシュした後、クライアントのブラウザはまだキャッシュされたバージョンのファイルを使用しており、アップデートが表示されないということがあります。 もちろん、サポート電話では、クライアントブラウザに ctrl F5 をリフレッシュして、サーバーから最新のファイルを取得するようにしますが、それ以前に処理することが望ましいと思います。

現在考えているのは、単純にJavaScriptのファイル名にバージョン番号を付けて、変更があったときにスクリプトのバージョンをインクリメントして、すべての参照を更新する方法です。 これは確かに有効ですが、リリースのたびにリファレンスを更新するのは面倒になるかもしれません。

この問題に取り組むのは私たちが初めてではないと思うので、コミュニティに投げかけてみようと思いました。 コードを更新したときに、どのようにしてクライアントがキャッシュを更新するようにしているのでしょうか? 上記の方法を使用している場合、変更を簡略化するプロセスを使用していますか?

解決方法は?

私の知る限り、一般的な解決策は ?<version> をスクリプトのsrcリンクに追加してください。

例えば

<script type="text/javascript" src="myfile.js?1500"></script>


この時点で、すべてのscriptタグでこれらの"バージョン番号"を増加させるために、find-replaceより良い方法はないのでしょうか?

バージョン管理システムでやってくれるかもしれませんよ?ほとんどのバージョン管理システムは、例えばチェックイン時に自動的にリビジョン番号を注入する方法を備えています。

このような感じでしょうか。

<script type="text/javascript" src="myfile.js?$$REVISION$$"></script>


もちろん、次のようなより良い解決策は常にあります。 これ .