Reusable middlewares, utils, CURD modules for Express.js web server
Key features
- Quickly inject Express.js middleware
- Reusable CURD modules
Usages
;; const server = ; ;
CURD Modules
Encapsulate most reusable CURD actions into separated modules
Actions
One of the HTTP method handlers:
{ Model; };
It is simple to reuse any CURD actions:
model;
Routers
Common interface of CURD routers:
{ router ; return router;};
Routes can be extended too.
ROUTE_NAME model action;
Models
However, the flexibility of mongoose model remains the same:
const NAME = 'User';const ROUTE_NAME = 'users'; const SCHEMA = email: type: 'String' required: true display_name: type: 'String' required: true first_name: type: 'String' required: false last_name: type: 'String' required: false password_hash: type: 'String' required: false encoded_password: type: 'String' required: false phone: type: 'String' required: false creation_date: type: 'Date' default: Datenow required: false ; const schema = SCHEMA; ;
Available middlewares
- middleware: generic middleware, e.g. body parser and method override
- errorHandling: next handler for error JSON object
- hmr: webpack hot module reload
- listener: Express.js server listener