Lost Track of All Your Express Routes And Middlewares?!
express-print-routes prints the tree of all your Express routes and middlewares to a file.
You get this for example:
router ├── query * ├── expressInit * ├── logger * ├── hpp * ├── router /^\/api\/?(?=\/|$)/ │ router │ ├── bound dispatch /users/:id GET │ │ └── __getUser / GET │ │ │ └── bound dispatch /users/:id POST │ ├── __checkAccessRights / POST │ └── __updateUser / POST │ │ ├── serveStatic * └── __handleError *
This is a module for node.js and is installed via npm:
npm install express-print-routes --save-dev
express-print-routes after you registered all your routes / middlewares:
var app = ;// Register all your routes / middlewaresif processenvNODE_ENV === 'development' // Only in dev environment// Absolute path to output filevar path = ;var filepath = path;// Invoke express-print-routesapp filepath;
Consider giving your middlewares names when they appear as
<anonymous>. Often, they are added as anonymous functions like this:
Give the middleware a name like this:
Why printing to a file and not just to the console?
It is good practice to commit the generated file to your version control system. This way you can review all changes like added / renamed / removed routes and added / removed middlewares.
To set up your development environment for
- Clone this repo to your desktop,
- in the shell
cdto the main folder,
npm install gulp -gif you haven't installed gulp globally yet, and
gulp dev. (Or run
node ./node_modules/.bin/gulp devif you don't want to install gulp globally.)
gulp dev watches all source files and if you save some changes it will lint the code and execute all tests. The test coverage report can be viewed from
If you want to debug a test you should use
gulp test-without-coverage to run all tests without obscuring the code by the test coverage instrumentation.
- v1.0.0 (2016-05-01)
- Initial version
In case you never heard about the ISC license it is functionally equivalent to the MIT license.
See the LICENSE file for details.