Node.js in Action
Mike Cantelon, Marc Harter, T.J. Holowaychuk, and Nathan Rajlich
Foreword by Isaac Z. Schlueter
  • October 2013
  • ISBN 9781617290572
  • 416 pages
  • printed in black & white

The content ramps up nicely from basic to advanced.

From the Foreword by Isaac Z. Schlueter, Node.js Project Lead


Node.js in Action, Second Edition is now available. An eBook of this older edition is included at no additional cost when you buy the revised edition!

A limited number of pBook copies of this edition are still available. Please contact Manning Support to inquire about purchasing previous edition copies.

Node.js in Action is an example-driven tutorial that starts at square one and guides you through all the features, techniques, and concepts you'll need to build production-quality Node applications. You'll start by learning how to set up your Node development environment, including loading the community-created extensions. Next, you'll run several simple demonstration programs where you'll learn the basics of a few common types of Node applications. Then you'll dive into asynchronous programming, a model Node leverages to lessen application bottlenecks.

Table of Contents detailed table of contents




about this book

about the cover illustration

Part 1 Node fundamentals

== === Asynchronous and evented: the browser === Asynchronous and evented: the server === DIRTy applications === DIRTy by default === Summary

1. Chapter 2 Building a multiroom chat application

1.1. Application overview

1.2. Application requirements and initial setup

1.3. Serving the application’s HTML, CSS, and client-side JavaScript

1.5. Using client-side JavaScript for the application’s user interface

1.6. Summary

2. Chapter 3 Node programming fundamentals

2.1. Organizing and reusing Node functionality

2.2. Asynchronous programming techniques

2.3. Sequencing asynchronous logic

2.4. Summary

Part 2 Web application development with Node

3. Chapter 4 Building Node web applications

3.1. HTTP server fundamentals

3.2. Building a RESTful web service

3.3. Serving static files

3.4. Accepting user input from forms

3.5. Securing your application with HTTPS

3.6. Summary

4. Chapter 5 Storing Node application data

4.1. Serverless data storage

4.2. Relational database management systems

4.3. NoSQL databases

4.4. Summary

5. Chapter 6 Connect

5.1. Setting up a Connect application

5.2. How Connect middleware works

5.3. Why middleware ordering matters

5.4. Mounting middleware and servers

5.5. Creating configurable middleware

5.6. Using error-handling middleware

5.7. Summary

6. Chapter 7 Connect’s built-in middleware

6.1. Middleware for parsing cookies, request bodies, and query strings

6.2. Middleware that implements core web application functions

6.3. Middleware that handles web application security

6.4. Middleware for serving static files

6.5. Summary

7. Chapter 8 Express

7.1. Generating the application skeleton

7.2. Configuring Express and your application

7.3. Rendering views

7.4. Handling forms and file uploads

7.5. Handling resource downloads

7.6. Summary

8. Chapter 9 Advanced Express

8.1. Authenticating users

8.2. Advanced routing techniques

8.3. Creating a public REST API

8.4. Error handling

8.5. Summary

9. Chapter 10 Testing Node applications

9.1. Unit testing

9.2. Acceptance testing

9.3. Summary

10. Chapter 11 Web application templating

10.1. Using templating to keep code clean

10.2. Templating with Embedded JavaScript

10.3. Using the Mustache templating language with Hogan

10.4. Templating with Jade

10.5. Summary

Part 3 Going further with Node

11. Chapter 12 Deploying Node applications and maintaining uptime

11.1. Hosting Node applications

11.2. Deployment basics

11.3. Maximizing uptime and performance

11.4. Summary

12. Chapter 13 Beyond web servers

12.1. Socket.IO

12.2. TCP/IP networking in depth

12.3. Tools for interacting with the operating system

12.4. Developing command-line tools

12.5. Summary

13. Chapter 14 The Node ecosystem

13.1. Online resources for Node developers

13.2. GitHub

13.3. Contributing to the npm repository

13.4. Summary

Appendix A: Installing Node and community add-ons

Appendix B: Debugging Node

Appendix C: Extending and configuring Express


© 2014 Manning Publications Co.

About the Technology

JavaScript on the server? You bet. Node.js is a JavaScript server capable of supporting scalable, high-performance web applications. Using asynchronous I/O, the server can do more than one thing at a time, a key requirement for real-time apps like chat, games, and live statistics. And since it's JavaScript, you use the same language end to end.

About the book

Node.js in Action shows you how to build production-quality applications. Clear introductions of key concepts and example-by-example coverage take you from setup to deployment. You'll dive into asynchronous programming, data storage, and output templating, and interact with the filesystem to create non-HTTP applications like TCP/IP servers and command-line tools. Perfect for a web developer transitioning from Rails, Django, or PHP.

What's inside

  • Set up Node and extensions
  • Grok asynchronous programming and the event loop
  • Examples including microblogging, IM, games, and more

About the reader

Requires basic knowledge of JavaScript. No prior experience with Node.js needed.

About the authors

As skilled practitioners, expert teachers and trainers, and contributors to the core framework, authors Mike Cantelon, Marc Harter, T.J. Holowaychuk, and Nathan Rajlich represent the best of the Node.js development community.

The definitive guide to Node and the Node.js ecosystem.

Kevin Baister, 1KB Software Solutions

Superbly written with practical (and even funny) real-world examples.

Àlex Madurell, Polymedia SpA

Thoroughly enjoyable ... will get you up and running very quickly.

Gary Ewan Park, Honeywell

An excellent resource written by the people behind the code.

Brian Falk, NodeLingo, GoChime