22

開発中に、JS ファイルに妥当なキャッシュ有効期限を設定しようとしています。HTML、CSS、およびJSがstaticディレクトリの下にある標準的なセットアップがあります。

ドキュメントはこれについて言及していますが、私の人生ではこれを機能させることはできません。最初に、暗黙の両方の方法を試しました

class MyFlask(flask.Flask):
    def get_send_file_max_age(self, name):
        if name.lower().endswith('.js'):
            return 60
        return flask.Flask.get_send_file_max_age(self, name)

app = MyFlask(__name__)

app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 60

どちらも効果がなく、/static の下にある私の JS ファイルはデフォルトのキャッシュ タイムアウトで戻ってきます。

Cache-Control: public, max-age=43200

任意のポインタをいただければ幸いです。

4

2 に答える 2

1

キャッシュの有効期限を管理するには、 webassetsを確認することをお勧めします。開発環境と本番環境の両方で機能します。

于 2013-04-17T07:51:26.700 に答える
1

私はこの問題を抱えていて、自分に合った答えをオンラインで見つけることができませんでした.

次に、静的ファイルが Flask からまったく提供されていないことに気付きました! Flask は私の HTML のみを生成します。静的ファイルは、私の Web サーバー (私の場合は Apache、あなたのものは Nginx など) によって直接提供されます。

Apache の手順は次のとおりです。

最初に mod_expires モジュールをインストールします。

sudo a2enmod expires

次に、次のようなものを.htaccessファイルに追加します。

ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType image/* "access plus 1 year"

設定方法の詳細については、Apache のマニュアルを参照してください。

于 2016-01-24T23:51:40.653 に答える