如何使用 firebase 托管托管 sveltekit 应用程序?

Men*_*far 2 firebase firebase-hosting sveltekit

我正在尝试将 sveltekit 应用程序部署到 firebase(带有 sveltekit 的 bigginner)。我假设我们将构建应用程序并获取我们的 index.html 文件,但 sveltkit 的情况并非如此。

我正在使用 svelte 自动适配器(我的情况需要)

“苗条”:“^3.46.0”

现在我尝试将 firebase 配置文件更新为这样

{
  "hosting": {
    "public": "src",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "rewrites": [
    {
      "source": "**",
      "destination": "/src/app.html"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

还根据 firebase文档中托管顺序的优先级中托管顺序的优先级 ,我删除了由 firebase 填充的 index.html 文件,但仍然无法正常工作,并且出现页面未找到错误:此文件不存在,并且在当前目录。

知道我错过了什么吗?

Men*_*far 6

对于任何寻找答案的人来说,经过一天漫长的搜索,我得出了这样的结论。

根据文档, firebase 不是受支持的环境之一。所以我必须调整我的应用程序以使用静态适配器并更新:

像这样的svelte配置:

const config = {
    kit: {
        adapter: adapter({
            pages:"build",
            assets:"build",
            fallback: "index.html",
            precompress: true,
            strict:true
        })
    }
};
Run Code Online (Sandbox Code Playgroud)

火力基地配置

{
  "hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  },
  "rewrites": [
    {
      "source": "**",
      "destination": "/app.html"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

并在布局中

export const ssr = false; 
Run Code Online (Sandbox Code Playgroud)

仅此而已,只需构建和部署即可。