一、服务器端开发
1. 构建 Web 服务器
使用内置的 `http` 模块或流行的框架(如 Express、Koa 等)创建 Web 服务器,处理 HTTP 请求和响应。可以处理各种类型的请求,如 GET、POST、PUT、DELETE 等,并返回相应的 HTML、JSON 或其他数据类型。
javascript
const http = require("http");
const server = http.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("Hello, Node.js Web Server!");
});
server.listen(3000, () => {
console.log("Server is listening on port 3000");
});
2. 开发 RESTful API 服务
利用 Express 或其他框架创建 RESTful API,提供数据接口,方便前后端分离开发。可以处理数据的增删改查操作,与数据库(如 MongoDB、MySQL 等)交互,为前端应用或其他客户端提供服务。
javascript
const express = require("express");
const app = express();
app.get("/api/users", (req, res) => {
// 从数据库中获取用户数据,这里模拟返回数据
const users = [
{ id: 1, name: "Alice" },
{ id: 2, name: "Bob" },
];
res.json(users);
});
app.listen(3000, () => {
console.log("API server is running on port 3000");
});
二、实时应用开发
1. 实时聊天应用
使用 `socket.io` 等库开发实时聊天应用,实现服务器和客户端之间的实时双向通信,适合开发在线客服、即时通讯软件等。
javascript
const io = require("socket.io")(3000);
io.on("connection", (socket) => {
console.log("A user connected");
socket.on("chat message", (msg) => {
io.emit("chat message", msg);
});
});
三、命令行工具开发
1. 开发命令行工具
利用 Node.js 的 `child_process` 模块,可以创建命令行工具,实现系统命令的调用、文件处理、自动化脚本等。
javascript
const { exec } = require("child_process");
exec("ls -l", (err, stdout, stderr) => {
if (err) {
console.error(stderr);
return;
}
console.log(stdout);
});
四、构建工具和任务自动化
1. 构建工具
许多流行的构建工具如 Webpack、Grunt、Gulp 都是基于 Node.js 开发的,用于处理前端项目的构建任务,如文件压缩、代码转换(如将 ES6 代码转换为 ES5)、文件合并、CSS 预处理等。
五、数据处理和脚本编写
1. 数据处理和文件操作
使用 `fs` 模块进行文件的读写、复制、删除等操作,也可以处理 CSV、JSON 等数据文件,进行数据的解析和转换。
javascript
const fs = require("fs");
fs.readFile("data.json", "utf8", (err, data) => {
if (err) {
console.error(err);
return;
}
const jsonData = JSON.parse(data);
console.log(jsonData);
});
六、微服务开发
1. 开发微服务架构中的服务
可以将复杂的应用拆分成多个微服务,每个微服务使用 Node.js 开发,通过消息队列或 HTTP 等协议进行通信,实现高内聚、低耦合的架构,提高系统的可扩展性和可维护性。
七、物联网开发
1. 物联网应用
Node.js 可以用于开发物联网设备的服务器端程序,处理设备的连接、数据接收和发送,以及与其他系统的集成,实现智能家居、工业物联网等应用。