url-highway
A url based router. It's based on Highway, which is a simple and extensible router, and adds it url support. The router can listen to hash changes to navigate to a route, or update the hash when navigating to a new route.
Installation
npm install url-highway
How to use
Require and initialize a url based router:
var Highway = ; var highway = ;
Starting/stopping the router to allow it to watch for hash changes in the url
urlHighwaystart;urlHighway;
Let's define routes:
highway; highway;
By default, when navigating to a route, url highway will update the hash:
// Navigating to "route", giving 66 as a parameter. As many parameters as necessary can be given to navigate.highway; //Then url highway updates the hash:windowlocationhash; // #route/66
When navigating to a route with several parameters:
highway; // Then the hash will be:windowlocationhash; // #anotherRoute/interstate/66/D.C.
Also, when the hash is updated (programmatically or from the address bar), to #route/127/MI
windowlocationhash = "#route/127/MI"; // Will call navigate:highway;
We can also get the last route
// returns something like: #route/127/MIhighway; // We can use parse on it, returns ["route", "127", "MI"]highway;
Highway's other features are available too:
Removing a route:
var handle = highway; highway;
Navigating in the history:
highway;highway; highway;
CHANGELOG
1.0.0 - 12 MAR 2016
- Breaking change:
destroy()
renamed tostop()
- Update unit tests
0.0.5 - 21 FEB 2016
- It's now possible to register routes without giving a callback.
- Improved API for getting previous routes
LICENSE
MIT