I have created a svelte app and building app using SvelteKit everything is works fine.
I tried to deploy this app in firebase hosting but it fails. Sveltekit generating production build under .svelte-kit folder. I tried to change the public object value to ".svelte-kit" from firebase.json file but it returns error like there is no index.html and 404.html. What we need to change in firebase.json to make it work?
{
"hosting": {
"public" : "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}
CodePudding user response:
While building svelte app for production we can configure build location to public using svelte.config.js file
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;
Here we should use @sveltejs/adapter-static adapter to build.
No need to change firebase.json we can leave it as it is
{
"hosting": {
"public" : "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}
