@lnear/router
This repository contains a TypeScript-based router library designed for single-page applications (SPAs). It is built with lit-html
for template rendering and supports route management with plugins and dynamic path resolution.
Table of Contents
Features
- Dynamic Path Resolution: Resolve paths with the base URL specified at build time.
- Route Management: Define and manage routes with dynamic parameters and query strings.
- Plugin System: Enhance routing capabilities with plugins.
- Event Handling: Listen to route changes with custom events.
- Fallback Routes: Specify fallback routes for unmatched paths.
Installation
To install the router library, you need to have a package manager like npm or yarn:
Usage
Configuration
First, you need to create a configuration object for the router. This configuration includes your route definitions and any optional plugins or fallback routes.
Adding Routes
You can dynamically add routes to the router after initialization.
Navigation
To navigate programmatically, use the navigate
method.
API Reference
resolveRouterPath
This function resolves a given path with the base URL specified at build time.
Config
The configuration object for the router.
Router
The main class for managing routes and navigation.
RouteDefinition
Defines a route in the router.
RouteEvent
An event that is dispatched when the route changes.
Contributing
We welcome contributions to improve the router library. To contribute, please fork the repository, create a new branch, and submit a pull request with your changes.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
This README
provides an overview of the router library, its features, and usage instructions. For more detailed documentation and examples, please refer to the source code and comments within the codebase.