Flask-CDN が静的ファイルの Amazon CloudFront URL を使用してテンプレートを作成しない理由がわかりません。これが私のセットアップです:
1) cdn ドメインを構成し、Flask-Assets に cdn を使用するように依頼します。
class AppConfig(BaseConfig):
DEBUG = False
FLASK_ASSETS_USE_CDN = True
CDN_DOMAIN = "mydomain.cloudfront.net"
2) CDN オブジェクトを含む Flask アプリ:
config_object = AppConfig
app = flask.Flask(config_object.PROJECT_NAME, static_folder='web/static')
app.config.from_object(config_object)
# Bundles are configured here (many of them!) to generate the app.js file
if config_object.DEBUG is False:
CDN(app)
app.run(host='0.0.0.0')
3) アセットを使用するテンプレート:
{% assets "js_app" %}
<script type="text/javascript" src="{{ ASSET_URL }}"></script>
{% endassets %}
4) 最後に、サーバーによって作成された html は次のとおりです。
<script type="text/javascript" src="/static/gen/app.js?40c12882"></script>
次のように生成されるはずだったのに、なぜ html に CDN ドメインが含まれていないのか疑問に思っています。
<script type="text/javascript" src="http://mydomain.cloudfront.net/static/gen/app.js?40c12882"></script>
ありがとうございました。