Node.js Promises 项目实战
1. 环境搭建
首先,我们需要安装 Node.js 和必要的 npm 模块。在您的终端中运行以下命令:
npm install -g nodejs
npm install express body-parser
2. 创建项目结构
创建一个新的目录并将您的项目文件放在其中。例如:
mkdir my-project
cd my-project
3. 创建服务器
使用 Express 框架创建一个简单的 HTTP 服务器。在您的项目中创建一个名为 server.js
的文件,并添加以下代码:
const express = require("express");
const app = express();
const port = 3000;
app.get("/", (req, res) => {
res.send("Hello World!");
});
app.listen(port, () => {
console.log(`Server listening on port ${port}`);
});
4. 处理 GET 请求
现在,我们将添加一个 GET 请求处理程序,用于检索数据。我们将使用 Promises 来异步获取数据并将结果发送回客户端。在 server.js
中,添加以下代码:
// Import the fs module for file system operations
const fs = require("fs");
// Define a GET endpoint for retrieving data
app.get("/data", (req, res) => {
// Read the data from a file asynchronously using fs.promises.readFile
fs.promises.readFile("data.txt", "utf8")
.then((data) => {
// Send the data back to the client
res.send(data);
})
.catch((err) => {
// Handle any errors
res.status(500).send("Error retrieving data");
});
});
5. 处理 POST 请求
接下来,我们将添加一个 POST 请求处理程序,用于创建或更新数据。我们将使用 Promises 来异步处理请求并发送响应。在 server.js
中,添加以下代码:
// Import the body-parser middleware for parsing request bodies
const bodyParser = require("body-parser");
// Use the body-parser middleware to parse JSON bodies
app.use(bodyParser.json());
// Define a POST endpoint for creating or updating data
app.post("/data", (req, res) => {
// Get the data from the request body
const data = req.body;
// Write the data to a file asynchronously using fs.promises.writeFile
fs.promises.writeFile("data.txt", data, "utf8")
.then(() => {
// Send a success response to the client
res.send("Data saved successfully");
})
.catch((err) => {
// Handle any errors
res.status(500).send("Error saving data");
});
});
6. 启动服务器
现在,我们可以启动我们的服务器并测试我们的应用程序。在您的终端中,运行以下命令:
node server.js
您的服务器现在正在运行,您可以在浏览器中访问 /data
和 /data
端点来测试您的应用程序。
7. 总结
通过本教程,您已经学会了如何使用 Node.js Promises 构建一个简单的 HTTP 应用程序。您已经实现了 GET 和 POST 操作,并处理了请求参数和响应。随着您对 Node.js 和 Promises 的深入学习,您可以探索更多的复杂应用程序。