express-mount-routes
An express package to mount routes automatically from file system.
Why?
- Avoid multiple router definition codes
- Reduce check point with auto-defined routes while debugging
- CoC(Configuration over Convention)
Usage
After yarn add express-mount-routes
or npm install express-mount-routes --save
:
const path = ;const express = ;const routes = ; const app = ;; app;
API Doc
How to write Controllers
You must export an object whose keys are last part of routes and values are objects (or array) with HTTP method and handlers. For example:
// FileName: controllers/weibo.js moduleexports = // when value is a function or an array of functions, the HTTP method would be default value GET { res; } // also you can provide one more handlers with an array of functions: these handlers except last one are called middlerwares in Express '/getArr': { res; } // also you can make URL params '/:id': // explicitly identifing an HTTP method can never be wrong { res; } { res; } // another example for usage of middlerwares '/temp': 'delete': { resmyOwnVar = 'this is a middleware.'; ; } { res; } ;
At last, routes would be combined with ${urlPrefix} + ${pluralized file name of controllers} + ${identified keys}
. Therefore, examples above would mount these routes:
GET /api/v1/weibos/
GET /api/v1/weibos/getArr
GET /api/v1/weibos/:id
POST /api/v1/weibos/:id
DELETE /api/v1/weibos/temp
You are welcomed to review test.js and controllers dir in this project for more information of usage.