2017-10-31 7 views
0

私は自分のアプリケーションをテストしています。これは、Reactを使ってノードとエクスプレスとフロントエンドを使ってバックエンドを書いています。いつもクロムネットワークキャッシングを無効にする方法

私は低速ネットワークをシミュレートしていませんが、実際は低速ネットワークに座っています。

時々、コード に書かれているaxiosを使用したxhr要求は、ネットワークリクエストのキャッシュのために実際には機能しません。

Chromeの開発者コンソールを別のウィンドウで開き、[キャッシュを無効にする]ボタンをオンにすると、完全に機能します。

デベロッパーコンソールを開かずにChromeでこの「キャッシュを無効にする」ことをいつでも強制できます。

この機能を備えたブラウザはありますか?

+0

'Cache-Control:no-cache'ヘッダをレスポンスに追加しますか? –

答えて

1

最も良い方法は、サーバーから直接要求キャッシュを禁止することです。とにかくAPI呼び出しをキャッシュしないようにするのが大抵でしょう。

const router = require('express').Router(); 

// Set no cache headers to ensure browsers (especially IE) don't cache the API requests 
router.use((req, res, next) => { 
    res.setHeader('Expires', '-1'); 
    res.setHeader('Cache-Control', 'no-cache'); 
    next(); 
}); 

これは、あなたのエクスプレスアプリのトップになるはずです。すべての要求がこのフィルタに渡されます。さらに、いくつかの要求をキャッシュする場合は、このハンドラの上に記述してください。

関連する問題