This guide explores Node.js (Node) and its relationship with npm, the Node Package Manager. Let's start with the basics:
npm, despite its playful alternative names on its website, fundamentally combines "Node" and "Package Manager." We'll delve into package managers later; this chapter focuses on Node.js.
Guide Chapters:
JavaScript's traditional role is within web browsers alongside HTML and CSS. However, Node.js extends JavaScript's reach to server-side programming.
This was a significant breakthrough. JavaScript no longer requires a browser to function. Hence, the distinction between "Node JavaScript" and "browser-based JavaScript."
Client-side languages (HTML, CSS, JavaScript) operate within the user's browser, while server-side languages (PHP, Ruby, Python, etc.) execute on a server. Server-side languages typically offer broader functionalities.
The creation of Node.js, spearheaded by Ryan Dahl, leveraged JavaScript's speed (especially compared to PHP and Ruby) to enable its use across various environments.
Node.js essentially runs JavaScript as a server-side language outside the browser. This is achieved through the use of JavaScript engines like V8 (Chromium's engine), which can operate independently. V8's popularity stems from Chrome's widespread use.
The ability to extract the JavaScript engine from the browser and run it independently makes server-side JavaScript a reality.
While Node.js and browser-based JavaScript share the same core language and syntax, they differ significantly in their capabilities. Browser-specific APIs (like window
, document
, and fetch
) are absent in Node.js. However, console.log
remains a valuable tool, and Node.js offers its own unique APIs, such as the process
object.
Over time, Node.js and browser-based JavaScript have evolved along separate paths, resulting in distinct features and development approaches. The analogy of an upright bass and an electric bass guitar aptly illustrates their similarities and differences.
Node.js provides server-side functionalities like file system access, system-level API interaction, email handling, request handling, and task scheduling.
Node.js typically comes bundled with npm. While Node.js installation is necessary for its use, npm can be utilized without in-depth Node.js knowledge. We'll cover installation in a later chapter.
To test Node.js (if installed), create a test.js
file with simple JavaScript code:
console.log('Node.js is running!'); const numbers = [1, 2, 3, 4, 5]; numbers.forEach(number => { console.log(number); });
Run this using node test.js
in your terminal. You can also use node
to enter an interactive Node.js environment.
This chapter provided a foundational understanding of Node.js. Node.js's ability to run JavaScript outside the browser enables the creation of server-side packages, managed by npm. The next chapter explores package managers in detail.
← Chapter 3 Chapter 5 →
The above is the detailed content of Node and How it Works With npm. For more information, please follow other related articles on the PHP Chinese website!