The fast and lightweight file-based router for Hapi, Express, and Fastify (more coming soon!). Neru allows you to easily organise and manage your project by it's file system whilst keeping the framework you love.
You can get started by creating your Neru project:
npm init neru my-project
Checkout our guide which will show you how neru works!
Adapters allow you to use neru with your favourite framework. Get started with the ones below or suggest a new one to be added next.
Adapter | Package | Documentation | Changelog |
---|---|---|---|
Hapi | @nerujs/adapter-hapi | Documentation | Changelog |
Express | @nerujs/adapter-express | Documentation | Changelog |
It only takes a few easy steps!
Install neru
and your adapter
of choice. Look below for a list of adapters. In this example, we will use express.
npm i neru @nerujs/express express
Now that we have Neru and our adapter installed, we can run Neru and pass in our express server
, adapter
, and routes
directory.
import { adapter } from '@nerujs/express';
import express from 'express';
import { neru } from 'neru';
const server = express();
await neru({
adapter,
server,
routes: 'src/routes',
});
server.listen(3000, () => console.log('Online on port 3000'));
In our src/routes
directory, we can create an index route. This will correspond to /
on our server. In that file we can export an express route handler.
export const GET = (req, res) => {
res.send('Hello World');
}
There's also an optional route
function exported by most adapters that provides type completion:
import { route } from '@nerujs/express';
export const GET = route((req, res) => {
res.send('Hello World');
})
Adapter | Package | Documentation | Changelog |
---|---|---|---|
Hapi | @nerujs/adapter-hapi | Documentation | Changelog |
Express | @nerujs/adapter-express | Documentation | Changelog |