ブラウザ標準WebSocket APIを中心としたリアルタイムWebアプリケーション実践ガイド。SvelteKit + TypeScript + MDsveXで構築された学習サイトです。
# 依存関係のインストール
npm install
# 開発サーバーの起動
npm run dev
# 開発サーバーを起動してブラウザで開く
npm run dev -- --open
# プロダクションビルド
npm run build
# プロダクションビルドのプレビュー
npm run preview
# TypeScript型チェック(Svelte含む)
npm run check
# 型チェックをwatch modeで実行
npm run check:watch
# ESLint + Prettierでコードチェック
npm run lint
# Prettierでコードフォーマット
npm run format
# SvelteKitの同期(自動実行されます)
npm run prepare
src/
├── routes/ # SvelteKitページ・ルート
│ ├── +page.svelte # トップページ
│ └── +layout.svelte # 共通レイアウト
├── lib/ # 再利用可能なコンポーネント・ユーティリティ
│ └── index.ts # ライブラリエクスポート
├── app.html # HTMLテンプレート
└── app.d.ts # TypeScript型定義
memo/ # 学習コンテンツ(Markdown)
├── curriculum.md # メインカリキュラム
├── socket.md # WebSocket基礎
├── end-to-end-hop-by-hop.md
└── ... (その他の学習資料)
static/ # 静的ファイル
└── favicon.png
MDsveXにより、Markdown内でSvelteコンポーネントを使用可能。
# 学習コンテンツ
<script>
import WebSocketDemo from '$lib/components/WebSocketDemo.svelte';
</script>
## WebSocketデモ
<WebSocketDemo />
通常のMarkdownテキストとSvelteコンポーネントを組み合わせることができます。
.svelte
- 通常のSvelteコンポーネント.svx
- MDsveX(Markdown + Svelte)ファイルsvelte.config.js
で設定済みSvelteKitのfile-based routingを使用。
src/routes/
├── +page.svelte # / (トップページ)
├── about/
│ └── +page.svelte # /about
├── phase1/
│ ├── +page.svelte # /phase1 (Phase 1概要)
│ └── introduction/
│ └── [lesson]/
│ └── +page.svx # /phase1/introduction/[lesson] (学習コンテンツ)
└── +layout.svelte # 全ページ共通レイアウト
memo/curriculum.md
に50-60時間の体系的な実践カリキュラムを用意。
npm run check
を実行npm run lint
でチェックmemo/
ディレクトリの学習資料を参考にWebSocket実装Phase別開発では必ず対応する環境制約を確認してください。