express-route-groups
v1.0.0
Published
```javascript import express from 'express' import Group from 'express-route-groups'
Downloads
274
Readme
Express Route Groups
import express from 'express'
import Group from 'express-route-groups'
const app = express()
app.use( Group('/users', router => {
router.get('/:id', usersController.view)
router.get('/create', usersController.create)
}) )
Middleware
Place middleware before the callback function
app.use( Group(
'/users',
usersMiddleware,
usersMiddleware2,
router => {
router.get('/:id', usersController.view)
router.get('/create', usersController.create)
}
) )
Module Format:
CommonJS (CommonJS + ES Module friendly)
Inspect the code:
const { Router } = require('express')
module.exports = function Group(...args) {
const path = (typeof args[0] ==='string') ? args[0] : undefined
const router = Router()
let internalRouter
if (path) {
internalRouter = Router()
router.use(path, internalRouter)
} else {
internalRouter = router
}
// skip the first item if it was a string
// leave the last item too
for (let i = (path) ? 1 : 0; i < args.length -1; i++) {
internalRouter.use(args[i])
}
const callback = args[args.length -1]
callback(internalRouter)
return router
}
License:
MIT