Boilerplate code for an Express application which allows to write express routes/middlware easily and faster.
Install express-route-bootstrap
npm i express-route-boilerplate
Add to your application
const initExpress = require('express-route-boilerplate');
Define the routes in your application as modules in js
files. FileName
will be a route in the application.
// v1.js
const express = require('express');
const routes = express.Router();
router.get('/', (req, res) => { ... }); // GET /v1/
router.post('/', (req, res) => { ... }); // POST /v1/
router.get('/version', (req, res) => { ... }); // GET /v1/version/
module.exports = routes;
//root.js
const express = require('express');
const routes = express.Router();
router.get('/', (req, res) => { ... });
module.exports = routes'
...
Define application level middlwares
// logger.js
const logger = (req, res, next) => {
// Logging
next();
}
module.exports = { logger };
// auth.js
const auth = (req, res, next) => { ... }
const validate = (req, res, next) => { ... }
module.exports = { auth, validate };
Place the routes and middleware in separate directories (example given below)
.
├── routes
│ ├── root.js
│ ├── v1.js
├── middleware
│ ├── logger.js
│ ├── auth.js
├── index.js
.
.
.
In the entrypoint
file, invoke the module
// index.js
const initExpress = require('express-route-boilerplate'); // Import
....
initExpress({ pathToRoutes: './routes/', pathToMiddleware: './middleware/',
port: 5000, listenCallback: () => {console.log('app started')}}); // Invoke
initExpress({ pathToRoutes, pathToMiddleware, rootRouteName, port, listenCallback });
Parameter | Type | Required (default) | Usage | Example |
---|---|---|---|---|
pathToRoutes | string |
yes (N/A ) |
Relative path from root of the application to routes directory | ./routes/ |
pathToMiddleware | string |
no (N/A ) |
Relative path from root of the application to middlware directory | ./middlware/ |
rootRouteName | string |
no (root ) |
Routes define in this file will become root (/) level routes without fileName prefix | root |
port | number |
no (3000 ) |
Port the application should run in | 5000 |
listenCallback | function |
no |
Callback to be passed to express().listen |
() => { console.log('App started'); |
Make sure pathToRoutes
and pathToMiddleware
has ending /
charater as given in example above.