Here is a quick introduction to npm:
npm consists of three distinct components:
The website is the primary way developers discover packages, set up profiles, and manage other aspects of their npm experience.
The registry is a large database of information about packages.
The CLI runs from a terminal. This is how most developers interact with npm.
Adapt packages to your apps, or incorporate them as they are.
Download standalone tools you can use right away.
Run packages without downloading using npx.
Share code with any npm user, any where.
Restrict code to specific developers.
Form virtual teams (orgs).
Manage multiple versions of code and code dependencies.
Update applications easily when underlying code is updated.
Discover multiple ways to solve the same puzzle.
Find other developers who are working on similar problems.
These are just a few examples of ways developers use npm. If you'd like to add a bullet point, comment here.
To find packages, start with the npm search bar.
While browsing, you'll find:
(To understand the difference between node modules and packages, click here).
For example, suppose you wanted to use bar codes (QR codes) in your application. Rather than spend weeks figuring out how to do this, why not see if someone has posted a package that creates QR codes? Start by entering a value in the search bar:
Related options will appear:
Or, click, to filter the possibilities even more:
When you choose a package to explore, more information appears. This information is written by the package author(s) so details vary.
Now, you can read the developer's instructions to discover how to use this package.
Now that you know what npm is, and a bit about how to use it, it's time to get started. Install npm. We look forward to seeing what you will create!
To learn more about npm as a product, new features on the way, and interesting uses of npm, sign up for our newsletter at npm-weekly.
To explore additional features that you might wish to use as your project evolves, click here.
Last modified January 31, 2018 Found a typo? Send a pull request!