更新されたバージョンをビルドまたはパッケージ化してサーバーに送信するたびに、最新のコードに更新されない場合があり、ブラウザーにキャッシュの問題が発生します。
解決策1:
vue-cli2.xまたはwebpackによって初期化されたプロジェクトのwebpack.prod.conf.jsを見つけ、vue-cli3.0の構成ファイルvue.webpack.jsを見つけます。
1.バージョン変数を定義します。constVersion= new Date()。getTime(); //ここではタイムスタンプを使用して区別します
出力:{ パス:config.build.assetsRoot、 ファイル名:utils.assetsPath( 'js/[name]。[chunkhash]。'+_ Version +' js ')、 chunkFilename:utils.assetsPath(' js / [id]。[チャンクハッシュ]。 '+ _ Version +' js ') }、
次に、npm run buildがパッケージ化された直後に、バージョン番号が含まれているdistファイルにjsファイル名が表示されます。
ただし、vue-cliのデフォルト設定では、cssとjsの名前がハッシュされているため、新しいバージョンのcssとjsの名前は古いバージョンとは異なり、キャッシュの問題は発生しません。次に、パッケージ化されたindex.htmlがサーバーに配置されると、index.htmlがサーバー側にキャッシュされる可能性があります。これには、index.htmlがキャッシュされないようにサーバーを構成する必要があります。
解決策2:
index.htmlがキャッシュされないようにnginx構成
Webを開発およびデバッグするときに、ブラウザーのキャッシュ(キャッシュ)が原因でキャッシュを空にしたり、強制的に更新してテストしたりする問題が頻繁に発生し、apache非キャッシュ構成とnginx非キャッシュ構成の設定を提供します。一般的に使用されるキャッシュ設定には2つの方法があり、どちらもadd_headerを使用して設定されます。それぞれCache-ControlとPragmaです。
add_headerCache-ストアなしを制御します。 add_headerプラグマno-cache;
キャッシュなしのブラウザはキャッシュしますが、ページが更新または再度開かれるとサーバーに要求します。サーバーは304で応答でき、ファイルが変更された場合は200で応答します。
ストアなしのブラウザはキャッシュせず、更新します。ページとページを再度ダウンロードする必要があります