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

    Keywords

    none

    Install

    npm i express-load-router

    DownloadsWeekly Downloads

    3

    Version

    2.1.4

    License

    MIT

    Unpacked Size

    10.2 kB

    Total Files

    8

    Last publish

    Collaborators

    • avatar
    • avatar