【发布时间】:2020-12-23 06:10:21
【问题描述】:
我正在尝试让 FastAPI 与 Svelte 一起使用。我已经用 Svelte 构建了静态文件,现在我正在尝试从 FastAPI 提供它们。问题是构建的 Svelte 文件引用了例如global.css 来自 root,这意味着我不能将它们安装在子文件夹中。
相反,我必须将它们安装在 root 上:
app.mount("/", StaticFiles(directory="web/public", html=True), name="web")
但是,这使得路由(函数装饰器)中定义的任何内容都无法访问。
是否可以同时定义静态文件 和 函数?要么,
a) 路由优先,如果没有路由,它会尝试从静态目录中读取
b) 静态目录优先,我指定了一个排除路径,该路径改为路由
【问题讨论】:
-
哪些构建文件引用了
/global.css?通常资产的位置(global.css 或 bundle.js)在 .html 文件中定义 -
看看 sapper,它使用 sirv 处理静态文件,然后使用 sapper 中间件处理路由:github.com/sveltejs/sapper-template/blob/master/src/server.js
-
我实际上求助于使用 Flask - 这个功能在那里工作。