One of the first powerful frameworks was Express.js, which was released in 2010, built on the Middlewares principle, which raised it to the peak of popularity and became a reason for hate in advanced Node.js developer circles. After all, a large number of mutations in the chain led to long and difficult searches for the source of problems in the old code.

However, it perfectly fulfills its function of rapid prototyping.

And the low learning curve, along with a lot of ready-made solutions, the lack of a clear structure that hits you in the arm, still makes it so popular.

It provides the following mechanisms:

  • Writing handlers for requests with different HTTP methods in different URLs (routes).
  • Integration with “view” rendering mechanisms to generate responses by inserting data into templates.
  • Setting general parameters of the web application, such as the port to connect to and the location of the templates used to display the response.
  • “middleware” for additional request processing at any point in the request processing pipeline.

While express itself is fairly minimalistic, the developers have created compatible middleware packages to solve almost any web development problem. There are libraries to handle cookies, sessions, user logins, URL parameters, POST data, security headers, and more. You can find a list of middleware packages supported by the Express team in Express Middleware (along with a list of some popular third-party packages) .