コンテンツにスキップ

SvelteKit

SvelteKit(スヴェルトキット)は Svelte(スヴェルト)用のメタ・フレームワークです。SvelteKit の詳細は「公式サイト https://svelte.dev/」をご覧ください。以下の説明内容は「SvelteKit 2.20.4 / Svelte 5.25.8」に準拠しています。

  • static-adapter 経由で SSG日本語版リンクはこちら》および SPA日本語版リンク》を使用してください。Tauri はサーバー・ベースの方式には対応していません。
  • 「SSG」をプリレンダリングありで使用する場合には、load 関数がアプリのビルドプロセス中に tauri API にアクセスできないことに注意してください。「SPA」モード(プリレンダリングなし)を使用すると、「ロード関数」が WebView 内でのみ実行され、tauri API にアクセスできるため、こちらをお勧めします。
  • tauri.conf.json では frontendDist として build/ を指定します。
  1. @sveltejs/adapter-static のインストール
    Section titled “@sveltejs/adapter-static のインストール”
    npm install --save-dev @sveltejs/adapter-static
  2. tauri.conf.json
    {
    "build": {
    "beforeDevCommand": "npm run dev",
    "beforeBuildCommand": "npm run build",
    "devUrl": "http://localhost:5173",
    "frontendDist": "../build"
    }
    }
  3. svelte.config.js
    import adapter from '@sveltejs/adapter-static';
    import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
    /** @type {import('@sveltejs/kit').Config} */
    const config = {
    // 前処理系(preprocessors)の詳細については、公式サイト
    // https://svelte.dev/docs/kit/integrations#preprocessors (日本語版サイト: https://svelte.jp/docs/kit/integrations)を参照してください
    preprocess: vitePreprocess(),
    kit: {
    adapter: adapter({
    fallback: 'index.html',
    }),
    },
    };
    export default config;
  4. 最後に、以下の内容を含む「ルート +layout.ts ファイル」(あるいは TypeScript を使用していない場合は +layout.js)を追加して、「SSR」(サーバーサイド・レンダリング)を無効化する必要があります:

    src/routes/+layout.ts
    export const ssr = false;

    static-adapter は、アプリ全体に対して「SSR を無効化」することを求めているわけではありませんが、そうすることで、(Tauri の API のような)グローバル・ウィンドウ・オブジェクトに依存する API を クライアント側のチェック(英語版)《日本語版リンクはこちら》なしで使用できるようになります。

    さらにいえば、「シングルページ・アプリケーション (SPA)」モードよりも「SSG」(静的サイト生成)を好む場合は、アダプタ関連ドキュメント日本語版リンク》に従って「アダプタ設定」と「 +layout.ts 」を変更できます。

【※ この日本語版は、「Jul 5, 2025 英語版」に基づいています】





《訳注》

SPA Single-Page Application: 「シングルページ・アプリケーション」。
SSG Static Site Generation: 「静的サイト生成」。
SSR Server-Side Rendering: 「サーバーサイド・レンダリング」。


© 2026 Tauri Contributors. CC-BY / MIT