Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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

About

Automatically create routers from specified folder structures for Express.js

Topics

Resources

License

Releases

No releases published
You can’t perform that action at this time.