In this chapter, we will cover the following recipes:
- Routing in ExpressJS
- Modular route handlers
- Writing middleware functions
- Writing configurable middleware functions
- Writing router-level middleware functions
- Writing error-handler middleware functions
- Using ExpressJS' built-in middleware function to serve static assets
- Parsing the HTTP request body
- Compressing HTTP responses
- Using an HTTP request logger
- Managing and creating virtual domains
- Securing an ExpressJS web application with helmet
- Using template engines
- Debugging your ExpressJS web application