Node.js 基础
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,用于在服务端运行 JavaScript 代码。以下是 Node.js 的基本概念和常用功能。
Node.js 简介
特点
- 单线程、非阻塞 I/O:通过事件循环和异步 I/O,提高高并发能力。
- 基于模块化:使用 CommonJS 模块规范,代码组织更清晰。
- 跨平台:支持多种操作系统(Windows、Linux、macOS)。
应用场景
- 构建 Web 服务(如 REST API)。
- 创建实时应用程序(如聊天、游戏)。
- 脚本工具(如自动化任务)。
- 操作文件系统。
基本模块
Node.js 提供了许多内置模块,以下是常用模块:
-
fs****(文件系统模块)- 处理文件和目录。
const fs = require("fs");// 同步读取文件const data = fs.readFileSync("example.txt", "utf-8");console.log("File content:", data);// 异步读取文件fs.readFile("example.txt", "utf-8", (err, data) => {if (err) throw err;console.log("Async file content:", data);}); -
http****(HTTP 服务模块)- 创建 HTTP 服务器。
const http = require("http");const server = http.createServer((req, res) => {res.statusCode = 200;res.setHeader("Content-Type", "text/plain");res.end("Hello, World!");});server.listen(3000, () => {console.log("Server running at http://localhost:3000/");}); -
path****(路径操作模块)- 处理文件路径。
const path = require("path");const filePath = path.join(__dirname, "example.txt");console.log("File path:", filePath); -
os****(操作系统信息模块)- 获取操作系统相关信息。
const os = require("os");console.log("Platform:", os.platform());console.log("Total Memory:", os.totalmem());
npm 和包管理
npm 的作用
- npm(Node Package Manager)是 Node.js 的包管理工具,用于安装和管理第三方库。
常用命令
-
初始化项目
npm init -y- 生成
package.json文件。
- 生成
-
安装包
npm install express- 默认安装到
node_modules目录,并记录到package.json。
- 默认安装到
-
安装全局包
npm install -g nodemon- 全局安装的包可直接作为命令使用。
-
移除包
npm uninstall express
使用第三方模块
Express 示例
Express 是一个常用的 Node.js Web 框架,适合快速构建 Web 服务。
-
安装 Express
npm install express -
创建简单服务器
const express = require("express");const app = express();app.get("/", (req, res) => {res.send("Hello, Express!");});app.listen(3000, () => {console.log("Express server running at http://localhost:3000/");});
异步编程模式
Node.js 的核心是异步编程,以下是几种常用方式:
-
回调
const fs = require("fs");fs.readFile("example.txt", "utf-8", (err, data) => {if (err) throw err;console.log("File content:", data);}); -
Promise
const fs = require("fs").promises;fs.readFile("example.txt", "utf-8").then((data) => console.log("File content:", data)).catch((err) => console.error(err)); -
async/await
const fs = require("fs").promises;async function readFileContent() {try {const data = await fs.readFile("example.txt", "utf-8");console.log("File content:", data);} catch (err) {console.error(err);}}readFileContent();
Node.js Basics
Node.js is a JavaScript runtime based on the Chrome V8 engine, used to run JavaScript code on the server. Here are the core concepts and common features of Node.js.
Node.js Introduction
Features
- Single-threaded, non-blocking I/O: Through the event loop and asynchronous I/O, it improves high-concurrency capabilities.
- Modular by design: Uses the CommonJS module specification, making code organization clearer.
- Cross-platform: Supports multiple operating systems (Windows, Linux, macOS).
Use cases
- Build Web services (such as REST APIs).
- Create real-time applications (such as chat, games).
- Scripting tools (such as automation tasks).
- Interacting with the file system.
Core Modules
Node.js provides many built-in modules; here are the commonly used ones:
-
fs(File System module)- Handles files and directories.
const fs = require("fs");// Synchronous file readconst data = fs.readFileSync("example.txt", "utf-8");console.log("File content:", data);// Asynchronous file readfs.readFile("example.txt", "utf-8", (err, data) => {if (err) throw err;console.log("Async file content:", data);}); -
http(HTTP Service module)- Creates an HTTP server.
const http = require("http");const server = http.createServer((req, res) => {res.statusCode = 200;res.setHeader("Content-Type", "text/plain");res.end("Hello, World!");});server.listen(3000, () => {console.log("Server running at http://localhost:3000/");}); -
path(Path handling module)- Handles file paths.
const path = require("path");const filePath = path.join(__dirname, "example.txt");console.log("File path:", filePath); -
os(Operating System information module)- Retrieves information about the operating system.
const os = require("os");console.log("Platform:", os.platform());console.log("Total Memory:", os.totalmem());
npm and Package Management
Purpose of npm
- npm (Node Package Manager) is Node.js’s package management tool, used to install and manage third-party libraries.
Common Commands
-
Initialize a project
npm init -y- Generates a
package.jsonfile.
- Generates a
-
Install a package
npm install express- Installs to the
node_modulesdirectory by default and records it inpackage.json.
- Installs to the
-
Install a global package
npm install -g nodemon- Globally installed packages can be used as commands directly.
-
Remove a package
npm uninstall express
Using Third-Party Modules
Express Example
Express is a popular Node.js web framework, suitable for quickly building web services.
-
Install Express
npm install express -
Create a simple server
const express = require("express");const app = express();app.get("/", (req, res) => {res.send("Hello, Express!");});app.listen(3000, () => {console.log("Express server running at http://localhost:3000/");});
Asynchronous Programming Patterns
The core of Node.js is asynchronous programming; here are several common approaches:
-
Callbacks
const fs = require("fs");fs.readFile("example.txt", "utf-8", (err, data) => {if (err) throw err;console.log("File content:", data);}); -
Promises
const fs = require("fs").promises;fs.readFile("example.txt", "utf-8").then((data) => console.log("File content:", data)).catch((err) => console.error(err)); -
async/await
const fs = require("fs").promises;async function readFileContent() {try {const data = await fs.readFile("example.txt", "utf-8");console.log("File content:", data);} catch (err) {console.error(err);}}readFileContent();
Ok.
Node.jsの基礎
Node.js は Chrome V8 エンジンをベースにした JavaScript 実行時で、サーバーサイドで JavaScript コードを実行します。以下は Node.js の基本概念とよく使われる機能です。
Node.js 入門
特徴
- シングルスレッド、非同期 I/O:イベントループと非同期 I/O を通じて、高い同時接続性を実現します。
- モジュール化に基づく:CommonJS モジュール規格を使用して、コードの構成がより分かりやすくなります。
- クロスプラットフォーム:Windows、Linux、macOS など、複数のオペレーティングシステムをサポートします。
適用シーン
- Web サービスの構築(例: REST API)。
- リアルタイムアプリケーションの作成(例: チャット、ゲーム)。
- スクリプトツール(例: 自動化タスク)。
- ファイルシステムの操作。
基本モジュール
Node.js は多数の組み込みモジュールを提供しています。以下はよく使われるモジュール:
-
fs(ファイルシステムモジュール)- ファイルとディレクトリを扱います。
const fs = require("fs");// 同期読み込みconst data = fs.readFileSync("example.txt", "utf-8");console.log("File content:", data);// 非同期読み込みfs.readFile("example.txt", "utf-8", (err, data) => {if (err) throw err;console.log("Async file content:", data);}); -
http(HTTP サービスモジュール)- HTTP サーバーを作成します。
const http = require("http");const server = http.createServer((req, res) => {res.statusCode = 200;res.setHeader("Content-Type", "text/plain");res.end("Hello, World!");});server.listen(3000, () => {console.log("Server running at http://localhost:3000/");}); -
path(パス操作モジュール)- ファイルパスを処理します。
const path = require("path");const filePath = path.join(__dirname, "example.txt");console.log("File path:", filePath); -
os(OS 情報モジュール)- OS に関する情報を取得します。
const os = require("os");console.log("Platform:", os.platform());console.log("Total Memory:", os.totalmem());
npmとパッケージ管理
npm の役割
- npm(Node Package Manager)は Node.js のパッケージ管理ツールで、サードパーティライブラリのインストールと管理に用います。
よく使うコマンド
-
プロジェクトの初期化
npm init -ypackage.jsonファイルを生成します。
-
パッケージのインストール
npm install express- デフォルトで
node_modulesディレクトリにインストールされ、package.jsonに記録されます。
- デフォルトで
-
グローバルパッケージのインストール
npm install -g nodemon- グローバルにインストールされたパッケージはコマンドとして直接使用できます。
-
パッケージの削除
npm uninstall express
サードパーティモジュールの使用
Express の例
Express はよく使われる Node.js の Web フレームワークで、Web サービスを迅速に構築するのに適しています。
-
Express のインストール
npm install express -
簡単なサーバーの作成
const express = require("express");const app = express();app.get("/", (req, res) => {res.send("Hello, Express!");});app.listen(3000, () => {console.log("Express server running at http://localhost:3000/");});
非同期プログラミングパターン
Node.js の核心は非同期プログラミングです。以下はいくつかのよく使われる方法です:
-
コールバック
const fs = require("fs");fs.readFile("example.txt", "utf-8", (err, data) => {if (err) throw err;console.log("File content:", data);}); -
Promise
const fs = require("fs").promises;fs.readFile("example.txt", "utf-8").then((data) => console.log("File content:", data)).catch((err) => console.error(err)); -
async/await
const fs = require("fs").promises;async function readFileContent() {try {const data = await fs.readFile("example.txt", "utf-8");console.log("File content:", data);} catch (err) {console.error(err);}}readFileContent();
部分信息可能已经过时









