Реализуйте систему маршрутизации для своего приложения с помощью этого руководства.

SvelteKit — это платформа для создания веб-приложений любого размера с большим опытом разработки и гибкой маршрутизацией на основе файлов. Платформа сочетает в себе преимущества SEO и прогрессивного улучшения одностраничных приложений с быстрой навигацией по приложениям, отображаемым на стороне сервера. Одной из важных особенностей SvelteKit является его система маршрутизации.

Понимание маршрутизации SvelteKit

SvelteKit — это фреймворк построен на основе Svelte. В SvelteKit маршрутизация следует файловой системе. Это означает, что структура каталогов ваших страниц определяет маршруты вашего приложения.

Чтобы лучше понять систему маршрутизации SvelteKit, сначала создайте проект SvelteKit. Для этого запустите в терминале следующий код:

npm create svelte@latest my-app

После запуска приведенного выше блока кода вы ответите на ряд запросов по настройке приложения.

Затем установите необходимые зависимости для вашего проекта. Сделать это CD в свой проект и запустите:

instagram viewer
npm install

Откройте проект на сервере разработки, выполнив в терминале следующую команду:

npm run dev

Теперь ваш проект будет работать http://localhost: 5173/. Когда вы откроете приложение на своем сервере разработки, вы увидите интерфейс, похожий на изображение ниже.

Корневой маршрут проекта ‘/’ соответствует файлу с именем +page.svelte. Вы можете найти +page.svelte файл по пути к файлу; источник/маршруты в вашем проекте.

Для создания различных маршрутов в SvelteKit вы можете создавать папки в источник/маршруты каталог. Каждая папка будет соответствовать отдельному маршруту. Создать +page.svelte файл в каждой папке, чтобы определить содержимое этого маршрута.


<main>
<h2> This is the about page h2>
main>

Приведенный выше код будет жить внутри +страница файл. Вы создадите стройный файл внутри о папка в источник/маршруты каталог. Этот файл будет содержать содержимое маршрута. Чтобы просмотреть маршрут в веб-браузере, перейдите к http://localhost: 5173/об.

Переход к /about route отобразит этот интерфейс на вашем экране:

Понимание вложенных маршрутов

Вложенные маршруты — это способ структурировать систему маршрутизации в веб-приложении. В структуре вложенных маршрутов маршруты размещаются внутри других маршрутов, создавая между ними иерархическую связь. Вы можете создавать вложенные маршруты в SvelteKit, помещая папки с +page.svelte файл внутри других папок маршрута под источник/маршруты каталог.

Например:

В этом примере вы вкладываете почта маршрут в пределах блог маршрут. Чтобы вложить почта маршрут в пределах блог маршрут, создать почта папка и ее +page.svelte файл внутри блог папка маршрута.

Чтобы получить доступ к маршруту блога в своем приложении, откройте веб-браузер и перейдите к http://localhost: 5173/блог.

Почтовый маршрут будет доступен по адресу http://localhost: 5173/блог/сообщение.

Макеты и маршруты ошибок

SvelteKit определяет макет для приложения аналогично Next.js. Оба фреймворка используют макет Компонент для определения структуры приложения.

SvelteKit использует +layout.svelte чтобы определить макет для группы страниц. Вы можете создать +layout.svelte файл в источник/маршруты каталог, чтобы определить макет для всех страниц в вашем приложении или в подкаталоге, чтобы определить макет для определенной группы страниц.

Вот пример того, как определить маршрут макета для всего вашего приложения:

В приведенном выше примере показан маршрут макета. Файл содержит h1 элемент, отображающий текст «Это приложение SvelteKit». Он также включает в себя слот элемент. слот element — это специальный элемент, определяющий место, где приложение будет отображать содержимое ваших маршрутов в макете. Он работает так же, как компоненты Vue..

В этом случае ваше приложение будет отображать содержимое ваших маршрутов ниже h1 элемент.

Чтобы определить страницу ошибки, создайте файл с именем +ошибка.svelte в источник/маршруты каталог. Эта страница будет отображаться при возникновении ошибки во время рендеринга.

Например:

Когда вы столкнетесь с ошибкой, например, при переходе по несуществующему маршруту, ваше приложение вернется к этому ошибка маршрут вместо этого.

Например:

Маршрут http://localhost: 5173/го не существует, поэтому приложение отображает ошибка маршрут вместо этого.

Навигация между страницами

Поиск наилучшего способа навигации между созданными вами маршрутами имеет решающее значение для хорошего опыта. Традиционно маршрутизация на основе файлов в большинстве технологий использует ссылки для навигации между разными страницами. Для навигации между страницами в SvelteKit вы можете использовать простой HTML-тег привязки.

Например, вы можете написать этот код в любом маршруте, который вы хотите, но вы должны написать его в макет маршрут над слот ярлык:

<ul>
<li>
<ahref="/">Homea>
li>
<li>
<ahref="/about">Abouta>
li>
<li>
<ahref="/blog">Bloga>
li>
<li>
<ahref="/blog/post">Posta>
li>
ul>

Нажав на любой тег привязки, вы перейдете к соответствующему маршруту.

Динамическая маршрутизация в SvelteKit

Динамическая маршрутизация позволяет постепенно создавать маршруты, генерируемые приложением на основе данных или параметров. Он позволяет создавать гибкие и динамичные веб-приложения, которые обрабатывают различные маршруты и отображают контент в соответствии с конкретными данными или параметрами.

Чтобы создать динамический маршрут в SvelteKit, создайте папку с именем [слаг] а затем +page.svelte файл в папке, чтобы определить содержимое маршрута. Обратите внимание, что вы можете назвать папку как угодно, но всегда заключайте имя в квадратные скобки [ ].

Вот пример динамического маршрута:

Чтобы получить доступ к этому маршруту в веб-браузере, перейдите по этой ссылке http://localhost: 5173/[слаг], где [слаг] может быть любым уникальным неопределенным именем маршрута, которое вы выберете.

Вы можете получить доступ к своему приложению [слаг] параметр с помощью $page.params данные из $ приложение/магазины.

Например:

<scriptlang='ts'>
import { page } from '$app/stores'

const params = $page.params;
script>

<main>
<h1>This is the {params.slug} pageh1>
main>

Здесь вы назначаете $page.params возражать против параметр переменная и визуализировать параметр.slug данные в вашем приложении.

Приложение извлекает параметр.slug данные по вашей ссылке. Например, если вы перейдете к http://localhost: 5173/огонь, содержимое, отображаемое в приложении, будет «Это пожарная страница».

Теперь вы знаете основы маршрутизации в SvelteKit

Маршрутизация в SvelteKit — это мощная функция, позволяющая структурировать ваше приложение таким образом, чтобы это имело смысл. Понимание того, как использовать эту функцию, позволит вам создавать более эффективные и удобные веб-приложения. Независимо от того, создаете ли вы небольшой личный проект или крупномасштабное приложение, система маршрутизации SvelteKit имеет инструменты, необходимые для достижения успеха.