Express Router
Introduction
Like you have seen in our Restfull Example Users App it start to be a mess when you have a multiple endpoints/routes in a same JavaScript file. The express.Router()
function is used to create a new router object which allows group the route handlers for a particular part of a site together and access them using a common route-prefix. In a bigger Express applications the main app file consists of several middleware calls and the rest of the app is divided into multiple files for better structuring of the application.
Modify Users App
Modify earlier created Users App to have /api/users/
routes in different JavaScript files.
Project folder will be look as below after you have done all the modifications.
1 2 3 4 5 6 7 8 9 10 |
|
First create a routes
folder to store users.js
routes. Use Express Router module to configure routes to usersController
.
routes/users.js | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Create a new controllers
folder to have usersController.js
JavaScript file. Move all the route logic there.
We have the users
data here inside the controller right now. This will be changed when we are using a real MongoDB Database.
usersController.js | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Create a new middleware
folder and move a logger
inside it.
logger.js | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 |
|
Finally require logger
middleware and use users
router in index.js
. Look how nice and clean your main JavaScript file is right now. You can easily add different routes in your app.
index.js | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
Read more
Goals of this topic
Understand
- How to use Express Router