hapi-auto-route

3.0.4 • Public • Published

hapi-auto-route

npm Travis (.org)

NPM

hapi-auto-route is a hapi plugin that lets you load route objects automatically from a directory. And allow routes path to be prefixed.

Maintainer: Sitraka Ratsimba

Installation

For Hapi >= v17:

npm i -S hapi-auto-route

For Hapi v16.x.x:

npm i -S hapi-auto-route@1.1.0

Code Example

Suppose your directory looks like this:

node_modules/
routes/
  home.js
server.js
package.json
// routes/home.js
'use strict';
 
module.exports = {
    method: 'GET',
    path: '/',
    handler: (request, h) => 'Hello'
};
// server.js
'use strict';
 
const Path = require('path');
const Hapi = require('@hapi/hapi');
 
const server = Hapi.Server({
  port: 3000,
  host: 'localhost'
});
 
const init = async () => {
    await server.register({
      plugin: require('hapi-auto-route'),
      options: {
        routes_dir: Path.join(__dirname, 'routes')
      }
     });
    await server.start();
    console.log(`Server is running at: ${server.info.uri}`);
};
 
process.on('unhandledRejection', (error) => {
  console.log(error);
  process.exit();
});
 
init();

Now, you can start the server and see Hello at http://localhost:3000.

API

  • routes_dir: absolute path to routes directory. required
  • pattern: glob pattern used to find route files. Defaults to **/!(_)*.js.
  • use_prefix: Use directory tree as prefix. Defaults to false.

Contributing

If you find a bug in the source code or a mistake in the documentation, you can help us by submitting an issue or a pull request with a fix.

Licence

This project is licensed under the MIT License - see the LICENSE file for details.

Readme

Keywords

Package Sidebar

Install

npm i hapi-auto-route

Weekly Downloads

49

Version

3.0.4

License

MIT

Unpacked Size

8.45 kB

Total Files

7

Last publish

Collaborators

  • ratsimba
  • sitraka
  • sitraka-hq