Introduction

JavaScript's history in backend web server development can be traced all the way back to NetScape's (now Mozilla's) Rhino engine as early as 1997 as the first attempt to create a robust JavaScript-based web server implementation.

The potential of using the same programming language on both the server and client of an application has fueled many explorations into creating different isomorphic programming frameworks, but resulted in only limited success.

Now, 2 decades later, Node.js has brought forth a new wave of JavaScript-based backend frameworks. Finally, we have realized the one-language paradigm for web development with an all JavaScript application stack known as the MEAN Stack.

One Node.js framework called Connect introduced a modular, compositional style of web server development inspired by Ruby's Sinatra framework. This framework quickly gained popularity in the emerging Node community and served as a middleware layer to many other Node.js micro-frameworks to form a modern, lightweight, and modular JavaScript web server framework, known as Express.

Express stands out from many other popular web server frameworks in that it is very minimal in what it provides as a web server by default. This choice, to behave more like a small, powerful toolkit of web server functionality instead of an opinionated, robust framework, means that Express brings only what a developer needs for their application. This minimizes any wasted overhead of other functions, abstractions, or complexity that may not be needed in your web application.

This also means, however, that Express doesn't provide any extra bells-and-whistles out of the box that aren't explicitly defined by a developer. So, let's explore the Express framework together and configure a web server for our MEAN stack web application that covers some of the most common types of web server needs.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.107.236