First and most important, I have to say that you don't want to do that. What you should do is have a nginx server on top of your Falcon app, and serve any static file directly from nginx (and redirect the API calls to Falcon).
This being said, you can serve static files easily from Falcon. This is the code you are looking for:
import falcon
class StaticResource(object):
def on_get(self, req, resp):
resp.status = falcon.HTTP_200
resp.content_type = 'text/html'
with open('index.html', 'r') as f:
resp.body = f.read()
app = falcon.API()
app.add_route('/', StaticResource())
You may want to set the file name as a parameter in the url, and get it in your resource, so your static resource can serve any requested file from a directory.
/static
that maps to some directory and read the file on path and return it in the response. The example in falcon docs that shows how to read and write images from the filesystem: falcon.readthedocs.org/en/stable/user/tutorial.html. But it isn't best practice - use the hosting webserver to serve up the static content. – Forland