環境構築
必要な環境
前提条件
- 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
パッケージマネージャの選択
マネージャ | 特徴 | 推奨度 |
---|---|---|
npm | Node.js標準、互換性が高い、学習リソースが豊富 | ⭐⭐⭐⭐⭐ |
pnpm | 高速、効率的なディスク使用量、モノレポ対応 | ⭐⭐⭐⭐ |
yarn | npmの代替、ワークスペース機能 | ⭐⭐⭐ |
bun | 超高速、実験的、ランタイム込み | ⭐⭐ |
deno | セキュア、TypeScript標準対応 | ⭐⭐ |
TIP
初心者の方はnpmを使用することをお勧めします。トラブルシューティングの情報が最も多く、確実に動作します。
VS Code の設定
必須拡張機能
- Svelte for VS Code - Svelte公式拡張機能
- 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.ts | APIエンドポイント |
+error.svelte | エラーページ |
app.d.ts | TypeScript型定義 |
開発サーバーの起動
# 開発サーバー起動
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
トラブルシューティング
よくある問題
Node.js バージョンエラー
# Node.js バージョン確認 node --version # nvm を使ってバージョン切り替え nvm use 20
bash依存関係の問題
# キャッシュクリア npm cache clean --force # node_modules 削除して再インストール rm -rf node_modules package-lock.json npm install
bashTypeScript エラー
# TypeScript バージョン確認 npx tsc --version # .svelte-kit フォルダを再生成 rm -rf .svelte-kit npm run dev
bash
次のステップ
環境構築が完了したら、 TypeScript設定 に進んで、型安全な開発環境を整えましょう。