Enrutamiento
Páginas
- SvelteKit utiliza enrutamiento basado en el sistema de archivos
- Cada archivo
+page.sveltedentro desrc/routescrea una página en la aplicación src/routes/+page.sveltecorresponde a/src/routes/about/+page.sveltecorresponde a/about- Si una página no existe se muestra un error 404
src/routes/about/+page.svelte
<nav>
<a href="/">Home</a>
<a href="/about">About</a>
</nav>
<h1>About</h1>
<p>This is the about page</p>
Layouts
- Las distintas rutas de la aplicación suelen compartir una interfaz de usuario común
- En lugar de repetirla en cada componente
+page.sveltese puede usar un componente+layout.svelteque aplique a todas las rutas del mismo directorio - Un archivo
+layout.sveltese aplica a todas las rutas secundarias, incluidas las hermanas+page.svelte(si existen) - Se pueden anidar diseños (layouts) a cualquier profundidad
- La etiqueta
{@render children()}es donde se renderizará el contenido de la página
src/routes/+layout.svelte
<script lang="ts">
let { children } = $props();
</script>
<nav>
<a href="/">Home</a>
<a href="/about">About</a>
</nav>
{@render children()}
Parámetros
- Para crear rutas con parámetros dinámicos se utilizan corchetes alrededor de un nombre de variable válido
- Por ejemplo una ruta
src/routes/blog/[slug]/+page.sveltecreará una ruta que coincida con/blog/one,/blog/two,/blog/three, etc. - Pueden aparecer varios parámetros de ruta dentro de un mismo segmento de URL, siempre que estén separados por al menos un caracter estático:
/foo/[bar]x[baz]es una ruta válida donde[bar]y[baz]son parámetros dinámicos
src/routes/blog/[slug]/+page.svelte
<h1>Blog post</h1>