Last active
December 31, 2019 07:49
-
-
Save quietcricket/68f6d2bf25b57be4792e87cb9aeee37d to your computer and use it in GitHub Desktop.
Firebase local server with livereload. Requires python_livereload
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import json | |
from livereload import Server | |
from tornado.web import RedirectHandler, StaticFileHandler | |
settings = json.load(open('.firebaserc')) | |
server_url = 'https://%s.web.app/__/' % settings['projects']['default'] | |
class NoCacheHandler(StaticFileHandler): | |
def set_extra_headers(self, path): | |
self.set_header('Cache-Control', 'no-store') | |
class FirebaseServer(Server): | |
def get_web_handlers(self, script): | |
return [ | |
(r"/__/(.*)", RedirectHandler, {"url": server_url+"{0}"}), | |
(r'/(.*)', NoCacheHandler, { | |
'path': self.root or '.', | |
'default_filename': 'index.html', | |
})] | |
server = FirebaseServer() | |
server.watch('public/*.*') | |
server.serve(8000, root='public') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment