Перейти к содержанию

Svelte и SvelteKit: кабинет читателя

Развиваем учебный проект «Маршрут» в 14 последовательных уроках. Каждый шаг использует результат предыдущего: прежние объекты, идентификаторы и правила остаются узнаваемыми. Серия входит в прикладной продуктовый маршрут.

Предпосылки: HTML, JavaScript, TypeScript, основы HTTP; Svelte 5, выбранная ветка SvelteKit 2 (>=2.16 <3). Проверка API по официальным источникам проведена 11 октября 2026 года. Установка, программы, сборка, тесты и размещение не выполнялись. example_execution: not_run; описанные ответы и экраны ожидаемые.

Учебные сессии и данные в памяти одного процесса; после перезапуска исчезают. Внешняя регистрация, восстановление, постоянная база и размещение отсутствуют.

Оглавление

№ Урок Результат
1 Кабинет читателя и границы SvelteKit Задаём модель «Маршрута», дерево проекта и границы серверного и браузерного состояния.
2 Состояние и вычисления в Svelte 5 Добавляем локальные закладки, завершение и вычисляемый прогресс через runes.
3 Компонент карточки и обратные вызовы Выносим карточку урока в компонент с типизированными props и callback без скрытого владения прогрессом.
4 Маршруты уроков и общая компоновка Создаём адресный каталог, динамическую страницу урока и layout кабинета.
5 Загрузка страницы и серверные данные Разделяем universal load и server load, сериализацию и публичную проекцию личного состояния.
6 SSR, prerender и личный кабинет Выбираем режим формирования HTML для публичного каталога и персональных страниц.
7 Браузерные эффекты и сохранение предпочтений Сохраняем компактный вид в localStorage после onMount без обращения к window при SSR.
8 Поиск и фильтры в URL Делаем фильтр каталога воспроизводимым по ссылке и сохраняем нативную GET-форму.
9 Серверные действия для закладок Описываем POST-команду с проверкой сессии, идентификатора и желаемого состояния.
10 Проверка формы и восстановление ввода Добавляем профиль с серверной валидацией, сохранённым вводом и доступной ошибкой поля.
11 Улучшение формы через use:enhance Добавляем ожидание POST и обновление страницы, сохраняя работу формы без JavaScript.
12 Сессия и владелец истории читателя Связываем серверный репозиторий с непрозрачной сессией и проверяем владельца каждого действия.
13 Ошибки кабинета и доступный интерфейс Различаем ожидаемый отказ и сбой сервера, сохраняем семантику кнопок, статусы и фокус.
14 Передача проекта «Маршрут» Собираем конечные исходники, фиксируем ограничения хранения, сессий и будущего выпуска.

Комплект проекта

Скачать исходники «Маршрут». Архив содержит конечное состояние кабинета, README и HANDOFF.md. Фрагменты в уроках объясняют его постепенное построение. Ожидаемые данные имеют явную подпись, результатов исполнения пока нет.