Routing
The file system based routing.
Routes folder structure
src/app/
├── index.svelte
├── user.svelte
├── auth.svelte
├── (auth)/
│ └── login.svelte
├── dashboard.svelte
└── dashboard/
├── index.svelte
└── invoices/
├── index.svelte
└── [invoiceId].svelteFollowing routes will be generated:
/— renders theindex.svelteview./user— renders theuser.svelteview./login— renders the(auth)/login.svelteview./dashboard— renders thedashboard/index.svelteview./dashboard/invoices— renders thedashboard/invoices/index.svelteview./dashboard/invoices/:invoiceId— renders thedashboard/invoices/[invoiceId].svelteview.
Typed Routes
The framework generated typed routes, so you can use them for router.push or href functions.
svelte
<script lang="ts">
import { useRouter, href as h } from '$oxide'
const router = useRouter()
router.push('/')
/* '/'
'/user'
'/dashboard'
'/dashboard/invoices'
'/dashboard/invoices/${string}'
*/
</script>
<a href={h`/dashboard`}>Go to Dashboard</a>