SvelteKit
SvelteKit is a meta framework for Svelte. Learn more about SvelteKit at https://svelte.dev/. This guide is accurate as of SvelteKit 2.20.4 / Svelte 5.25.8.
Checklist
- Use SSG and
SPA via
static-adapter. Tauri doesn’t support server-based solutions. - If using SSG with prerendering, be aware that
loadfunctions will not have access to tauri APIs during the build process of your app. Using SPA mode (without prerendering) is recommended since the load functions will only run in the webview with access to tauri APIs. - Use
build/asfrontendDistintauri.conf.json.
Example Configuration
Install
@sveltejs/adapter-staticnpm install --save-dev @sveltejs/adapter-staticyarn add -D @sveltejs/adapter-staticpnpm add -D @sveltejs/adapter-staticdeno add -D npm:@sveltejs/adapter-staticUpdate Tauri configuration
{ "build": { "beforeDevCommand": "npm run dev", "beforeBuildCommand": "npm run build", "devUrl": "http://localhost:5173", "frontendDist": "../build" }}tauri.conf.json
{ "build": { "beforeDevCommand": "yarn dev", "beforeBuildCommand": "yarn build", "devUrl": "http://localhost:5173", "frontendDist": "../build" }}tauri.conf.json
{ "build": { "beforeDevCommand": "pnpm dev", "beforeBuildCommand": "pnpm build", "devUrl": "http://localhost:5173", "frontendDist": "../build" }}tauri.conf.json
{ "build": { "beforeDevCommand": "deno task dev", "beforeBuildCommand": "deno task build", "devUrl": "http://localhost:5173", "frontendDist": "../build" }}tauri.conf.json
Update SvelteKit configuration:
import adapter from '@sveltejs/adapter-static';import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; /** @type {import('@sveltejs/kit').Config} */const config = { // Consult https://svelte.dev/docs/kit/integrations#preprocessors // for more information about preprocessors preprocess: vitePreprocess(), kit: { adapter: adapter({ fallback: 'index.html', }), },}; export default config;svelte.config.js
Disable SSR
Lastly, we need to disable SSR by adding a root
+layout.tsfile (or+layout.jsif you are not using TypeScript) with these contents:export const ssr = false;src/routes/+layout.ts
Note that
static-adapterdoesn’t require you to disable SSR for the whole app but it makes it possible to use APIs that depend on the global window object (like Tauri’s API) without Client-side checks.Furthermore, if you prefer Static Site Generation (SSG) over Single-Page Application (SPA) mode, you can change the adapter configurations and
+layout.tsaccording to the adapter docs.
Support on Open CollectiveSponsor on GitHub
© 2026 Tauri Contributors. CC-BY / MIT
Last updated Oct 08, 2026