如何配置 FastAPI 让节点前端处理 SPA 应用程序的深度路径路由,如 /foor/bar

How can I configure FastAPI to let the node frontend handle deep path routing like /foor/bar for a SPA application

提问人:Rami Mousleh 提问时间:11/16/2023 更新时间:11/16/2023 访问量:17

问:

我正在使用 Node.js (Vite+Lit) 构建前端,并且我正在使用 FastAPI 作为后端。我希望 FastAPI 成为 Web 服务器,并从“static”文件夹中加载前端 js 文件。 我正在使用 Vaadin 路由器来处理路径路由。 当从第一级路径(如 /foo)导航时,这工作正常。但是,如果我输入类似“/foor/bar”的路径,页面将无法正确加载。

我正在使用以下代码进行前端导航。

app.mount(
    "/static", StaticFiles(directory=f"{frontend_path}/static", html=True), "static"
)

@app.get("/{path:path}")
async def react_app(req: Request, path: str) -> Response:
    """Define a route handler for `/*` essentially."""
    return templates.TemplateResponse("index.html", {"request": req})

在日志中,我看到当使用深层路径时,FastApi 会尝试从相对于路径的文件夹中获取 js 文件。例如,如果路径是 ,我在日志中看到。而如果路径只有一个级别,则文件会正确获取,页面也会正确呈现。/foo/barGET /foo/static/index.js/foo/index.js

python node.js fastapi vaadin-router

评论


答: 暂无答案