2016-03-29 47 views
1

私はHTMLをキャッシュしたくない動的アプリケーション(つまり、カートの内容をページの更新から次のページに変更できる)に取り組んでいます。そのために、キャッシングを避けるためにキャッシュコントロールヘッダーを設定するミドルウェアを呼び出しています。しかしながら、前記キャッシュ制御ヘッダは、静的リソースをフェッチするときにも適用される。明らかなパフォーマンス上の理由から、これは望ましくない動作です。静的リソースをキャッシュする必要があります。私の質問はこれは...静的リソース対レンダリングされたhtmlのdiff応答ヘッダーを設定する方法はありますか?私は、setHeadersオプションをexpress.staticミドルウェアに渡そうとしましたが、同じ応答ヘッダーを2回設定しようとしているため、スレッドがハングします。どんな助けでも大歓迎です!Express JS - 静的リソースをキャッシュするが、レンダリングしないHTML

編集:環境情報を追加 - 私はエクスプレス4によ

とノード4.4

編集:サンプルコードを追加します。これはapp.jsの関連ビットで、ブラウザでのHTMLのキャッシュを積極的に回避します。

app.use(express.static(config.static.public)); 

// ...Stuff 

app.use(function (req, res, next) { 

    // Don't cache html 
    res.set('Cache-Control', 'no-cache, private, no-store, must-revalidate, ' 
     + 'max-stale=0, post-check=0, pre-check=0'); 
    res.set('Expires', 'Fri, 31 Dec 1998 12:00:00 GMT'); 
    next(); 

}); 
+1

コードを追加して問題を再現してください –

答えて

-1

app.use(express.static("static", {maxage : 0})) more info

試験の前に、ブラウザ内のすべての準備ができて、キャッシュされたファイルたぶん明らか。

関連する問題