私はバンドル、ミニフィケーション、バージョン管理にフラスコアセットを使用しています (CSS または JS ファイルを変更するときに、ブラウザがキャッシュにあるものではなく、新しいバージョンをロードすることを確認します... しかし、もちろんそれをロードしたいです)その後キャッシュから)。
サイトにはいくつかのページしかなく、それらはすべて異なるリソースを使用するため、ドキュメントのテンプレートのみで説明されているように、テンプレート自体でバンドルを定義しました。
{% assets filters="jsmin", output="gen/our-page_packed.js",
"blah.js", "yadda.js", "rhubarb.js", "wibble.js" %}
<script src="{{ ASSET_URL }}"></script>
{% endassets %}
{% assets filters="cssmin", output="gen/our-page_packed.css",
"css/foo.css", "css/bar.css" %}
<link rel="stylesheet" href="{{ ASSET_URL }}">
{% endassets %}
ASSETS_DEBUG
本番環境では False であり、サイトはローカライズされておらず、CDN または S3 を介して提供されていません。
問題は、本番環境にプッシュするときに、最初は明らかにバンドルが作成されていないことです。ページには CSS と Javascript がなく、Apache エラー ログには次のようなエラーが含まれています。
ファイルが存在しません: /srv/our-client/our-client/static/gen/our-page_packed.css、リファラー: https://app.our-client.com/quux/123/xyz/
ページを何度もリロードすると、1 ~ 2 分ですべてが機能し始めます。CSS や JS が欠落しているように聞こえるというお客様からの苦情を時折耳にしますが、それが続いているようには見えず、関連する問題であることも明らかではありません。
残念ながら、私は Flask の専門家ではありません (サイトは別の開発者によって作成されました。フラスコ アセットを追加しました)。バンドル ファイルが早期に作成されるようにするためにできることはありますか?