使用 SvelteKit 托管 Firebase

Cur*_*aph 7 firebase firebase-hosting svelte svelte-3 sveltekit

我已经创建了一个 svelte 应用程序并使用 SvelteKit 构建应用程序,一切正常。

我尝试在 firebase 托管中部署此应用程序,但失败了。Sveltekit 在文件夹下生成生产版本.svelte-kit。我尝试将public对象值更改为".svelte-kit"来自firebase.json文件,但它返回错误,例如没有 index.html 和 404.html。我们需要改变什么才能firebase.json让它发挥作用?

{
  "hosting": {
    "public" : "public",

    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

Firebase Hosting 现在原生支持 Sveltekit(测试版)。不幸的是,当前的文档状态并不令人惊奇:) 设置过程非常简单,并且不再需要使用适配器。

我写了一个简短的要点,介绍如何在 Firebase Hosting 上安装它,并添加了一些有用文档的链接:https ://gist.github.com/coehne/caf0b3934455d842dfbfe1f4c1544348


Mat*_*haN 4

在构建用于生产的 svelte 应用程序时,我们可以使用svelte.config.js文件将构建位置配置为公共

   import adapter from '@sveltejs/adapter-static';

import preprocess from 'svelte-preprocess';

/** @type {import('@sveltejs/kit').Config} */
const config = {
    // Consult https://github.com/sveltejs/svelte-preprocess
    // for more information about preprocessors
    preprocess: [
        preprocess({
          postcss: true,
        }),
      ],

    kit: {
        adapter: adapter({
            pages: 'public',
            assets: 'public',
            fallback: null,
            precompress: false
            }),
            prerender: {
            default: true
            }
    }
};

export default config;
Run Code Online (Sandbox Code Playgroud)

这里我们应该使用@sveltejs/adapter-static适配器来构建。

无需更改,firebase.json我们可以保持原样

{
  "hosting": {
    "public" : "public",

    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)