Node package manager
As described in Chapter 2, Setting up Node, npm is a package management and distribution system for Node. It has become the de-facto standard for distributing modules (packages) for use with Node. Conceptually it's similar to tools like apt-get (Debian), rpm/yum (Red Hat/Fedora), MacPorts (Mac OS X), CPAN (Perl), or PEAR (PHP). Its purpose is publishing and distributing Node packages over the Internet using a simple command-line interface. With npm you can quickly find packages to serve specific purposes, download them, install them, and manage packages you've already installed.
The npm package defines a package format for Node largely based on the CommonJS package specification. It uses the same package.json
file that's supported natively by Node, but with additional fields to build in additional functionality.
The npm package format
An npm package is a directory structure with a package.json
file describing the package. This is exactly what we just referred to as a complex...