python3 -m http.server is stupid so just pip3 install livereload and then run this:
# smartserve.py
from livereload import Server
from http.server import SimpleHTTPRequestHandler
import os
class NoCacheRequestHandler(SimpleHTTPRequestHandler):
def end_headers(self):
self.send_header("Cache-Control", "no-store, no-cache, must-revalidate, max-age=0")
self.send_header("Pragma", "no-cache")
self.send_header("Expires", "0")
super().end_headers()
def send_error(self, code, message=None):
if code == 404:
self.path = "/index.html"
return self.do_GET()
super().send_error(code, message)
server = Server()
server.watch(".", delay=0.2)
server.serve(
host="127.0.0.1",
port=8000,
root=".",
handler_class=NoCacheRequestHandler
)