シングルページアプリケーション
Flaskは、フロントエンドフレームワークによって生成された静的ファイルをプロジェクト内のサブフォルダーに配置することで、シングルページアプリケーション(SPA)を提供するために使用できます。 また、すべてのリクエストをSPAにルーティングするキャッチオールエンドポイントを作成する必要があります。
次の例は、APIとともにSPAを提供する方法を示しています。
from flask import Flask, jsonify
app = Flask(__name__, static_folder='app', static_url_path="/app")
@app.route("/heartbeat")
def heartbeat():
return jsonify({"status": "healthy"})
@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def catch_all(path):
return app.send_static_file("index.html")