Adding In Middleware

It’s important to understand what Node is doing under the hood when it’s serving files, especially since it isn’t actually that complicated. All the work we expect Apache, Nginx, and other servers to do for us automatically can be reduced to simple programming, little more than parsing a string. It’s also good to know what Node has built-in for those tasks. However, it’s safer, more efficient, and far more common to use one or more of the third-party tools already written to do this sort of work.

Note

In the context of a web server, middleware is a layer between the guts of the server and the code you’re writing to run on it that provides a set of abstractions anyone writing code for the platform will be likely to need. It differs from other modules you might pull into your application in that it exists as a buffer between Node and your app, not a utility used within your app.

Connect is an overwhelmingly popular Node middleware framework that provides the basis for other popular solutions like Express. One of the tools Connect provides is the static module, which does exactly what we’ve done above, but in a more robust fashion. If we add in Connect, we can write the same application with far less code:

var connect = require("connect");
      
connect(connect.static(__dirname + "/public")).listen(8000);

The code you see above replaces everything we wrote in the last example in just two lines. To actually run this, you’ll need to use npm to install Connect. ...

Get Node for Front-End Developers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.