| ![npm version](https://img.shields.io/npm/v/svelte-easyroute.svg "npm stats")  | ![bundle size](https://badgen.net/bundlephobia/minzip/svelte-easyroute) |
|---|---|
### Habitual router in your projects

![Svelte Easyroute logo](https://shared.lyoha.info/pictures/easyroute/svelte-easyroute.png "Easyroute Logo")


**Svelte Easyroute** - is a simple and convenient 
router for [Svelte](https://svelte.dev/) just like Vue Router. Supports history 
and hash mode, navigation guards, base path. 
If you need a router for svelte, try this one.

TL;DR Features:

* Config-based router (just like Vue Router)
* Dynamic route matching
* Nested routes
* Lazy route component loading outside the box
* Programmatic navigation
* Named routes
* Named outlets (views)
* Global and individual navigation hooks
* Controlling data loading via route metadata
* Server side rendering (SSR) that is easy to configure `v3.0.0+`
* Hash, history and silent modes
* Svelte + TypeScript support
* Webpack, Rollup and Vite support (yes, with SSR)

### Looking for demo? 
Try [this code sandbox](https://codesandbox.io/s/svelte-easyroute-simpliest-demo-10ppi?file=/App.svelte)

### Looking for SSR example? 
* See [this template repository](https://github.com/lyohaplotinka/svelte-easyroute-ssr-template) for Rollup
* See [this template repository](https://github.com/lyohaplotinka/svelte-easyroute-ssr-template-vite) for Vite

### Why you should try it? 

>**1. Well-known syntax**  
>It was inspired by the router for Vue.js, so this router will be understandable to many of you.
>
>**2. Still developing**  
>Many features of the router are still ahead. Already now it can be used in projects, and I’m happy to know what will make it better.
>
>**3. Community-friendly**  
>Repository cloning and pull requests are welcome! Together we can make the perfect tool for developing on Svelte

### How to use?

Please see Documentation: 
* [English](https://easyroute.lyoha.info/?lang=en)
* [Russian](https://easyroute.lyoha.info/?lang=ru)

Router is still developing and new features are coming out frequently.

### Under the hood
This is Svelte bindings for [Easyroute](https://github.com/lyohaplotinka/easyroute) framework-agnostic
library.

#### Contact me:
* [My website: https://lyoha.info/](https://lyoha.info/) (russian language!)
* [Telegram: https://t.me/alexeysolovjov](https://t.me/alexeysolovjov)
* [Email: plotinka@lyoha.info](mailto:plotinka@lyoha.info)
