Я пытаюсь использовать http.server Python в качестве сервера разработки для структуры SPA, и мне интересно, как настроить маршрутизацию SPA.Выдержка из серверного скрипта, который пытается решить эту проблему:
class Handler(http.server.SimpleHTTPRequestHandler):
# Allow SPA routing by redirecting subpaths.
def do_GET(self):
urlparts = urllib.parse.urlparse(self.path)
request_file_path = urlparts.path.strip('/')
if not os.path.exists(request_file_path):
self.path = '/'
return http.server.SimpleHTTPRequestHandler.do_GET(self)
Это работает правильно для путей с одним дочерним звеном, например, localhost:8000/guide
, но не для путей, таких как localhost:8000/guide/1
: в этом случаеон пытается загрузить index.html для всех ресурсов, включая файлы JS.Это приводит к ошибкам консоли браузера, таким как SyntaxError: expected expression, got '<'
.Как бы вы подошли к этому?