Vueプロジェクトパッケージファイルがサーバーに配置された後、ブラウザーはキャッシュの問題に対する解決策を持っています

更新されたバージョンをビルドまたはパッケージ化してサーバーに送信するたびに、最新のコードに更新されない場合があり、ブラウザーにキャッシュの問題が発生します。

解決策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で応答します。 
ストアなしのブラウザはキャッシュせず、更新します。ページとページを再度ダウンロードする必要があります

おすすめ

転載: blog.csdn.net/AN0692/article/details/108647787