You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SvelteKit部署Firebase Hosting失败,如何修改firebase.json?

解决SvelteKit部署Firebase Hosting的配置问题

第一步:配置SvelteKit静态适配器

首先需要安装适配Firebase Hosting的SvelteKit静态适配器:

npm install @sveltejs/adapter-static --save-dev

新建或修改src/routes/+layout.server.js,添加预渲染配置:

export const prerender = true;

修改svelte.config.js,替换原有适配器为静态适配器,指定构建输出目录:

import adapter from '@sveltejs/adapter-static';
import { vitePreprocess } from '@sveltejs/kit/vite';

/** @type {import('@sveltejs/kit').Config} */
const config = {
  preprocess: vitePreprocess(),
  kit: {
    adapter: adapter({
      pages: 'build',
      assets: 'build',
      fallback: 'index.html' // 适配SPA路由跳转
    })
  }
};

export default config;

执行构建命令生成可部署的静态包:

npm run build

构建完成后会生成build文件夹,这才是Firebase Hosting需要的标准静态资源目录。

第二步:修改firebase.json配置

将public字段指向生成的build目录,同时添加路由重写规则,确保所有路径都能正确映射到SPA入口:

{
  "hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

为什么之前的配置无效?

.svelte-kit是SvelteKit构建过程中的临时工作目录,并非最终可部署的静态产物,里面没有Firebase Hosting要求的index.html和适配路由的相关文件。必须通过官方适配器生成标准静态包后,再配置Firebase指向对应目录。


内容的提问来源于stack exchange,提问作者Curvegraph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:33:59