我正在 github 页面等静态站点托管服务上尝试动态路由。我知道通常您不想这样做,并且可能需要克服重重困难才能使其正常工作。
我正在使用
onMount
中的 svelte
函数在客户端加载数据。我有两个动态 url,/qna?id=1
,这有效,但另一个 url /blog/[slug]
失败。当我导航到像 /blog/hello
这样的 URL 时,它会在控制台中返回以下错误:Uncaught (in promise) TypeError: Failed to fetch dynamically imported module: https://mohit2152sharma.github.io/_app/immutable/entry/start.a84ced15.js
。我的猜测是这是由某些路径问题引起的。如果有人遇到类似的问题,将不胜感激您的帮助和时间。
(您可以在此处查看存储库:https://github.com/mohit2152sharma/svelte-mpa-example)
PS:我几乎遵循了文档中提到的所有步骤,例如设置
csr=true
和ssr=false
,使用adapter-static
,使用与github页面错误页面相同的fallback='404.html'
。
PPS:如果我在 vercel 上部署相同的项目,它可以工作,我在部署时所做的唯一更改是将适配器更改为
adapter-vercel
并使用 adapter
的默认值。
我认为文档中曾经有一些关于 Jekyll 和前缀为
_
的目录的问题。默认情况下,代码以 _app
结尾,如错误所示,并且不会提供服务。
可以通过将
.nojekyll
放入 static
并将输出目录 (appDir
) 更改为其他目录来禁用 Jekyll。