Skip to main content

Node.js 简介

什么是 Node.js?

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,主要用于构建高效、可扩展的服务器端应用。

info

Node.js 适用于 Web 开发、API 服务器、实时应用等多个场景。

Node.js 主要应用场景

领域说明主要库/框架
Web 开发构建后端 API 服务器和 Web 应用Express, Koa, NestJS
实时应用构建 WebSocket 聊天应用等Socket.io, WS
服务器端渲染使用 SSR 提升 SEO 和性能Next.js, Nuxt.js
命令行工具构建 CLI 应用Commander, yargs
微服务架构构建分布式系统Fastify, Moleculer

Node.js 代码示例

console.log("Hello, Node.js!");

Web 开发示例

const express = require("express");
const app = express();

app.get("/", (req, res) => {
res.send("Hello, Express!");
});

app.listen(3000, () => console.log("Server running on port 3000"));

实时应用示例(WebSocket)

const WebSocket = require("ws");
const server = new WebSocket.Server({ port: 8080 });

server.on("connection", (socket) => {
socket.send("Hello WebSocket Client");
socket.on("message", (message) => {
console.log(`Received: ${message}`);
});
});

命令行工具示例

const { program } = require("commander");

program
.version("1.0.0")
.description("A simple CLI tool")
.option("-n, --name <name>", "Your name")
.action((options) => {
console.log(`Hello, ${options.name || "World"}!`);
});

program.parse(process.argv);

部署 Node.js 应用

使用 PM2 运行 Node.js 应用
npm install -g pm2
pm start app.js --name my-app
pm2 list
pm2 restart my-app
使用 Docker 部署 Node.js 应用
FROM node:16
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
CMD ["node", "app.js"]
EXPOSE 3000

结论

Node.js 是构建现代 Web 和实时应用的强大工具,广泛应用于服务器端开发、微服务、命令行工具等场景。

更多 Node.js 资源