Skip to content
🧭 Declarative, asynchronous routing for React.
TypeScript JavaScript CSS HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples s/version/*/ Aug 15, 2019
media bump versions Mar 7, 2019
packages
.babelrc
.gitignore
.prettierrc update prettierrc Jul 10, 2019
.travis.yml update .travis.yml Mar 17, 2019
CHANGELOG.md prepare 0.13.6 Aug 15, 2019
LICENSE-logo.md remove CNAME, update licenses Dec 3, 2018
LICENSE.md remove CNAME, update licenses Dec 3, 2018
README.md
lerna.json v0.13.6 Aug 15, 2019
package.json bump lerna version Jul 11, 2019
yarn.lock

README.md

Navi Logo

Navi

Declarative, asynchronous routing for React.

NPM Build

Navi is a JavaScript library for declaratively mapping URLs to asynchronous content.

It comes with:

  • A set of modern React components and hooks, with Suspense support
  • A static HTML generation tool that works with create-react-app without ejecting
  • Great TypeScript support

View the docs »

Quick Start

At it's core, Navi is just a router. You can use it with any React app – just add the navi and react-navi packages to your project:

npm install --save navi react-navi

If you'd like a more full featured starter, you can get started with Create React/Navi App:

npx create-react-navi-app my-app
cd my-app
npm start

Or if you want to create a blog, use create-react-blog:

npx create-react-blog react-blog
cd react-blog
npm start

Getting Started

For a full introduction, see the Getting Started guide on the Navi website.

Who's using Navi?

Contributing

We are grateful to the community for contributing bugfixes, documentation, translations, and any other improvements.

This repository is monorepo that holds the source for Navi and it's related packages, while the Navi website -- which includes Navi's documentation, is part of the navi-website repository.

Building and Testing Navi

To contribute code to Navi, you'll need to be able to build it and run the tests. To start, make sure you have lerna 3.x installed globally:

npm install -g lerna

Then fork, clone and bootstrap the repository:

lerna bootstrap
yarn build
yarn test

If you're working on Navi itself, it's often easier to run builds and tests from packages/navi

cd packages/navi
yarn test:watch

The examples are set up to use the copy of Navi at packages/navi/dist, so they can also be useful for quickly testing changes.

License

Navi is MIT licensed.

You can’t perform that action at this time.