routerradeprecated

Tiny router library

Usage no npm install needed!

<script type="module">
  import routerra from 'https://cdn.skypack.dev/routerra';
</script>

README

routerra

Tiny router library

Install

npm i routerra

Setup

const routerra = require('routerra');

const routes = {
  '/': indexHandler,
  '/user': userHandler,
  '/user/settings': userSettingsHandler,
  '/page/{id}': pageHandler,
  '/404': notFoundHandler
};

const match = routerra(routes);

Use

match('/');
/*
  {
    handler: indexHandler,
    params: {}
  }
*/

match('/user');
/*
  {
    handler: userHandler,
    params: {}
  }
*/

match('/user/settings');
/*
  {
    handler: userSettingsHandler,
    params: {}
  }
*/

match('/page/17');
/*
  {
    handler: pageHandler,
    params: { id: 17 }
  }
*/

match('/something');
/*
  {
    handler: notFoundHandler,
    params: {}
  }
*/

Also you can use routes like:

const routes = {
  '/one/two/three/four/and/more': longRoute,
  '/use/more/{path}/{params}/{as}/{you}/want': moreParams,
  '/{or}/{only}/{params}': butWhyNeededHandler
};

Test

npm test