Skip to content

dirkgroenen/express-group-routes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Express group routes

Simple way to group your routes in Express.

Using this module you can easily create route groups in ExpressJS. It transforms the following code:

var app = require('express');
var router1 = app.Router();
router1.use("/api/v1", () => {})
...
var router1_1 = router1.Router();
...
var router2 = app.Router();
...

into:

var app = require('express');
require('express-group-routes');

app.group("/api/v1", (router) => {
    // Router1
    router.group((router) => { /* Router1_1 */ });
});

app.group(() => { /* Router2 */ });

##Quick start

If you want to prefix all routes with a certain URL you can use the group method as following:

var app = require('express');
require('express-group-routes');

app.group("/api/v1", (router) => {
    router.get("/login", loginController.store); // /api/v1/login 
});

In case you don't want to add a prefix but still need to group certain routes you can leave the first parameter and go straight for the function:

var app = require('express');
require('express-group-routes');

app.group((router) => {
    router.use(middleware);
});

Real world example

The code below is used in one of my projects and shows you how you can use this simple module to write (in my opinion) cleaner code.

router.group("/api/v1", function(router) {
    // Public available endpoints
    router.post("/login", controller("LoginController#login"));
    router.post("/registration", controller("RegistrationController#create"));

    router.group(function(router){
        // Make sure all routes in this group use authentication
        router.use(authentication);

        router.get("/user/me", controller("UserController#me"));
    });
});

#License

MIT

About

Simple way to group multiple routes under a route.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published