Preface — Getting Started with this Book
We recommend that you begin with a clean, new server to start learning how to program with Node. You can also use a local computer like a laptop or desktop. If you are unfamiliar with Node, or do not have a development environment set up, Chapter 1 of this book links to a tutorial that explains how to install Node for development on macOS, or an Ubuntu 20.04 system.
Programming using Node requires some familiarity with JavaScript, so if you would like to learn more about the language itself before exploring this book, visit the DigitalOcean Community’s JavaScript section to explore tutorials that focus on using JavaScript in a browser.
Once you are set up with a local or remote Node development environment, you will be able to follow along with each chapter at your own pace, and in the order that you choose.
About this Book
Node.js is a popular open-source runtime environment that can execute JavaScript outside of the browser. The Node runtime is commonly used for back-end web development, leveraging its asynchronous capabilities to create networking applications and web servers. Node is also a popular choice for building command line tools.
In this book, you will go through exercises to learn the basics of how to code in Node.js, gaining skills that apply equally to back-end and full stack development in the process. Each chapter is written by members of the Stack Abuse team.
Learning Goals and Outcomes
The chapters in this book cover a broad range of Node topics, from using and packaging your own modules, to writing complete web servers and clients. While there is a general progression that starts with installing Node locally and running small Node programs on the command line, each chapter in this book can be read independently of the others. If there is a particular topic or chapter that catches your attention feel free to jump ahead and work through it.
By the end of this book you will be able to write programs that leverage Node’s asynchronous code execution capabilities, complete with event emitters and listeners that will respond to user actions. Along the way you will learn how to debug Node applications using the built-in debugging utilities, as well as the Chrome browser’s DevTools utilities. You will also learn how to write automated tests for your programs to ensure that any features that you add or change function as you expect.
If you would like to learn more about Node development after you have finished reading this book, be sure to visit the DigitalOcean Community’s Node.js section.