環境構築

必要な環境

前提条件

  • Node.js 18.19以上(推奨: 20.x LTS または 22.x LTS)
  • npm 9以上(Node.jsに同梱)
  • VS Code(推奨エディタ)

Node.jsのインストール

Node.js公式サイト からLTS版をダウンロードしてインストール

プロジェクトの作成

最新のCLIツールを使用

2024年以降、SvelteKitプロジェクトの作成には新しいsvコマンドを使用します。

# 新しい方法(推奨)
npx sv create my-app

# 従来の方法(後方互換性のため残されている)
npm create svelte@latest my-app
bash
IMPORTANT

npx sv createは最新のSvelteKit CLIツールで、より洗練されたセットアップ体験を提供します。

対話形式での設定

  Welcome to the Svelte CLI! (v0.5.0)

  Which template would you like?
 SvelteKit demo
 SvelteKit minimal  # 初心者向け(推奨)
 Svelte library

  Add type checking with TypeScript?
 Yes, using JavaScript with JSDoc
 Yes, using TypeScript syntax  # 強く推奨
 No

  What would you like to add to your project? (use arrow keys / space bar)
 prettier        # コードフォーマッター(推奨)
 eslint          # リンター(推奨)
 vitest          # ユニットテスト
 playwright      # E2Eテスト
 tailwindcss     # CSSフレームワーク
 drizzle         # ORMツール
 lucia          # 認証ライブラリ
 mdsvex          # Markdown対応
 paraglide       # 国際化(i18n)
 storybook       # コンポーネント開発

  Which package manager do you want to install dependencies with?
 npm    # 標準的で安定
 pnpm   # より高速(上級者向け)
 yarn
 bun
 deno
bash

主要なテンプレートの選択

テンプレート説明推奨対象
SvelteKit minimal基本構造のみ、学習に最適初心者、新規プロジェクト
SvelteKit demoサンプルコード付き機能確認、参考実装
Svelte libraryライブラリ開発用コンポーネントライブラリ作成

追加ツールの選択ガイド

必須推奨(初心者向け)

  • prettier - コードを自動整形
  • eslint - コードの問題を検出
  • TypeScript - 型安全性の確保

プロジェクトに応じて追加

  • vitest - 単体テストを書く場合
  • playwright - E2Eテストが必要な場合
  • tailwindcss - ユーティリティCSSを使いたい場合
  • drizzle - データベースを使う場合
  • lucia - 認証機能が必要な場合

依存関係のインストール

CLIツールが自動的に依存関係をインストールします。

手動でインストールする場合

cd my-app
npm install
bash

パッケージマネージャの選択

マネージャ特徴推奨度
npmNode.js標準、互換性が高い、学習リソースが豊富⭐⭐⭐⭐⭐
pnpm高速、効率的なディスク使用量、モノレポ対応⭐⭐⭐⭐
yarnnpmの代替、ワークスペース機能⭐⭐⭐
bun超高速、実験的、ランタイム込み⭐⭐
denoセキュア、TypeScript標準対応⭐⭐
TIP

初心者の方はnpmを使用することをお勧めします。トラブルシューティングの情報が最も多く、確実に動作します。

VS Code の設定

必須拡張機能

  1. Svelte for VS Code - Svelte公式拡張機能
  2. Svelte 5 Snippets - Svelte 5用のスニペット

推奨拡張機能

  • Prettier - コードフォーマッター
  • ESLint - リンター
  • Error Lens - エラー表示の改善
  • GitLens - Git統合

VS Code設定

.vscode/settings.json ファイルを作成して、以下の設定を追加

  • editor.defaultFormatter: "esbenp.prettier-vscode"
  • [svelte] editor.defaultFormatter: "svelte.svelte-vscode"
  • svelte.enable-ts-plugin: true
  • svelte.plugin.svelte.format.enable: true
  • コンパイラ警告の無視設定:
    • a11y-click-events-have-key-events: "ignore"
    • a11y-no-static-element-interactions: "ignore"

プロジェクト構造

SvelteKitプロジェクトの標準的なフォルダ構成を示します。

my-app/
├── src/
│   ├── routes/             # ページとルーティング
│   │   ├── +layout.svelte  # 共通レイアウト
│   │   └── +page.svelte    # ホームページ
│   ├── lib/                # 共有コンポーネント・ユーティリティ
│   │   ├── index.ts        # エクスポート定義
│   │   └── assets          # アセット(画像、フォントなど)
│   │       └── favicon.svg # ファビコン
│   ├── app.html            # HTMLテンプレート
│   ├── app.css             # グローバルCSS
│   └── app.d.ts            # TypeScript型定義
├── static/                 # 静的ファイル
├── tests/                  # テストファイル
├── eslint.config.js        # ESLint設定
├── package.json            # プロジェクト設定
├── svelte.config.js        # Svelte設定
├── vite.config.js          # Vite設定
├── tsconfig.json           # TypeScript設定
└── README.md               # プロジェクト説明
null

重要なファイルの説明

ファイル説明
+page.svelteページコンポーネント
+page.tsユニバーサルload関数
+page.server.tsサーバーサイドload関数とActions
+layout.svelteレイアウトコンポーネント
+server.tsAPIエンドポイント
+error.svelteエラーページ
app.d.tsTypeScript型定義

開発サーバーの起動

# 開発サーバー起動
npm run dev

# ホットリロード付きで起動(ネットワーク内の他デバイスからアクセス可能)
npm run dev -- --host

# 特定のポートで起動
npm run dev -- --port 3000
bash

デフォルトでは http://localhost:5173 でアクセス可能です。

NOTE

--(ダブルダッシュ)はnpmスクリプトにオプションを渡すために必要です。

ビルドとプレビュー

# プロダクションビルド
npm run build

# ビルド結果のプレビュー
npm run preview

# ビルドして即プレビュー
npm run build && npm run preview
bash

Svelte 5 の確認

package.json で最新バージョンが使用されていることを確認

{
  "devDependencies": {
    "svelte": "^5.1.0",               // Svelte 5.1以上
    "@sveltejs/kit": "^2.5.0",        // SvelteKit 2.5以上
    "@sveltejs/adapter-auto": "^3.2.0",
    "@sveltejs/vite-plugin-svelte": "^4.0.0",
    "typescript": "^5.5.0",
    "vite": "^5.4.0"
  }
}
js
NOTE

2024年12月時点での推奨バージョンです。常に最新の安定版を使用することをお勧めします。

最新版へのアップデート

# 現在のバージョンを確認
npm list svelte @sveltejs/kit

# 最新版の確認
npm outdated

# 特定のパッケージを最新版に更新
npm install -D svelte@latest @sveltejs/kit@latest

# すべての依存関係を更新(npm-check-updatesを使用)
npx npm-check-updates -u
npm install
bash

Svelte 5の新機能確認

プロジェクト作成後、src/routes/+page.svelteを開いて、Svelte 5のRunesが使えることを確認。

<script lang="ts">
  // Svelte 5のRunes
  let count = $state(0);
  let doubled = $derived(count * 2);
  
  function increment() {
    count++;
  }
</script>

<button onclick={increment}>
  Count: {count}, Doubled: {doubled}
</button>
svelte

トラブルシューティング

よくある問題

  1. Node.js バージョンエラー

    # Node.js バージョン確認
    node --version
    
    # nvm を使ってバージョン切り替え
    nvm use 20
    bash
  2. 依存関係の問題

    # キャッシュクリア
    npm cache clean --force
    
    # node_modules 削除して再インストール
    rm -rf node_modules package-lock.json
    npm install
    bash
  3. TypeScript エラー

    # TypeScript バージョン確認
    npx tsc --version
    
    # .svelte-kit フォルダを再生成
    rm -rf .svelte-kit
    npm run dev
    bash

次のステップ

環境構築が完了したら、 TypeScript設定 に進んで、型安全な開発環境を整えましょう。

Last update at: 2025/08/14 07:39:43