express-load-router

2.1.4 • Public • Published

express-load-router

Load routers from specific folders for Express.js

NPM version npm download David deps

中文文档

Install

npm i express-load-router -S

Usage

const path = require('path');
const express = require('express');
const loadRouter = require('express-load-router');
 
const app = express();
 
// Use `path.join(__dirname, 'path/to/folder')` here
loadRouter(app, path.join(__dirname, 'controllers'));

Options

loadRouter(app, path.join(__dirname, 'controllers'), options);
option type default
excludeRules Array []
rewriteRules Map new Map()

Controller declaration

There are three kinds of Controller for this package:

  • Plain function
exports.api = (req, res) => {
  res.send('API');
};
  • Object
Property Type Required Default Note
method String No GET one of ['GET', 'POST', 'PUT', 'DELETE']
params Array No []
middlewares Array No [] Array of middlewares, see below
handler Function Yes --

e.g.

exports.api = {
  method: 'GET',
  params: [':id'],
  handler(req, res) {
    res.send('API');
  }
};

Middlewares support

This package also support middlewares in controller.

e.g.

exports.api = {
  method: 'GET',
  params: [':id'],
  middlewares: [
    function (req, res, next) {
      console.log('Middleware 1');
      next();
    },
    function (req, res, next) {
      console.log('Middleware 2');
      next();
    },
  ],
  handler(req, res) {
    return res.send(`product detail ${req.params.id}`);
  },
};

Example

See example.

License

The MIT License

Dependencies (1)

Dev Dependencies (5)

Package Sidebar

Install

npm i express-load-router

Weekly Downloads

1

Version

2.1.4

License

MIT

Unpacked Size

10.2 kB

Total Files

8

Last publish

Collaborators

  • fantasyshao
  • vigks