npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

nimblerouter

v1.0.2

Published

A simple router library. Can be used with single-page applications (SPAs) built for React, Angular, Vue, or any other front-end framework.

Downloads

4

Readme

nimblerouter

A lightweight and fast router library for single-page applications (SPAs) built for JavaScript frameworks like React, Angular, and Vue.

Installation

You can install the nimblerouter library using npm: npm install nimblerouter

Usage

To use the nimblerouter library in your JavaScript project, you can import it like this:

import Router from 'nimblerouter';

const router = new Router();

router.addRoute('/', () => {
  console.log('Home page');
});

router.addRoute('/about', () => {
  console.log('About page');
});

router.navigate();

In this example, we're creating a new Router instance, adding two routes with callback functions, and calling the navigate method to execute the callback function for the current path. If the current path is /, the Home page message will be logged to the console. If the current path is /about, the About page message will be logged to the console. If the current path doesn't match any of the defined routes, an error message will be logged to the console.

For a real SPA built with React, you would typically use a client-side routing library like react-router-dom to handle the routing without reloading the page. Here's an example of how you might use the nimblerouter library with react-router-dom:

import React, { useEffect } from 'react';
import { BrowserRouter as Router, Route, Link } from 'react-router-dom';
import Router from 'nimblerouter';

const router = new Router();

router.addRoute('/', () => {
  console.log('Home page');
});

router.addRoute('/about', () => {
  console.log('About page');
});

function App() {
  useEffect(() => {
    router.navigate();
  }, []);

  return (
    <Router>
      <div>
        <h1>My SPA</h1>
        <nav>
          <ul>
            <li><Link to="/">Home</Link></li>
            <li><Link to="/about">About</Link></li>
          </ul>
        </nav>

        <Route exact path="/" component={() => null} />
        <Route exact path="/about" component={() => null} />
      </div>
    </Router>
  );
}

export default App;

In this example, we're using nimblerouter to define the routes and execute the appropriate code based on the current route, and we're using react-router-dom to handle the routing between the home and about pages. We're also using the useEffect hook to call the router.navigate() method when the component mounts, which will execute the appropriate code based on the current route.

License

This library is licensed under the MIT License.