
Introduction
In this chapter, we will learn about Node.js, Node modules, package managers, and task runners. With ASP.NET Core, we have different options to manage packages: NuGet, node package manager (npm), Bower, and JSPM. Most of the time, NuGet is used to manage .NET packages for server-side libraries, but it doesn't have to be used. We will cover NuGet in the next chapter. npm manages the JavaScript packages and modules for Node.js. Bower handles frontend dependencies (such as JavaScript, CSS, and other stuff, such as fonts). JSPM does the same as Bower, but also loads and compiles JavaScript files as AMD modules at runtime.
In this chapter, we will explore all these ways of managing client-side dependencies and how to use the two most famous task runners in the Node.js world, namely Grunt and Gulp.