Single-Page Applications

Flask can be used to serve Single-Page Applications (SPA) by placing static files produced by your frontend framework in a subfolder inside of your project. You will also need to create a catch-all endpoint that routes all requests to your SPA.

The following example demonstrates how to serve an SPA along with an API:

  1. from flask import Flask, jsonify
  2. app = Flask(__name__, static_folder='app', static_url_path="/app")
  3. @app.route("/heartbeat")
  4. def heartbeat():
  5. return jsonify({"status": "healthy"})
  6. @app.route('/', defaults={'path': ''})
  7. @app.route('/<path:path>')
  8. def catch_all(path):
  9. return app.send_static_file("index.html")