初学者的 Express 基础知识

2025-06-04

初学者的 Express 基础知识

在为期12周的全栈训练营里,你必须学得快。因为我之前已经熟悉HTML、CSS和JavaScript,所以在快速学习的过程中,我通常能够把这些主题分清楚。然而,一旦转到后端,我的大脑就仿佛进入了狂野的西部。

Node、Express、Sequelize,它们在后端分别做了什么?“fs”是原生包还是安装包?我需要引入什么?我花了很多时间只是从课堂活动和以前的家庭作业中复制粘贴,而不是完全理解我所编写代码的概念。我让代码运行起来了,但并不真正理解它为什么有效。

于是我决定回过头来,认真研究我的代码,弄清楚每一行代码的功能,以及它是否与 Node、Express 或我的数据库(使用 Sequelize 或 MongoJS)兼容。这给了我很大的启发,让我最终明白了一切。

如果你也遇到类似的情况,我强烈建议你回过头去仔细研究你的代码,分析每一行代码的功能。这样就不用再纠结 REST 和 CRUD 的问题了!调试也变得轻松多了!这不再是“找出工作代码和不工作代码之间的区别”的游戏了。我终于能够真正地读懂错误,并理解可能出错的地方了。

作为本练习的一部分,我创建了一个 Express 基本功能列表。Express 是一个包,它允许你建立与服务器的连接并写入路径来处理传入的请求。

以下是你应该在 Express 中掌握的六件事,大多数情况下,每个运行 Express 的应用程序都应该包含这些功能。所有这些功能都可以写在一个 server.js 文件中,或者可以将路由模块化到单独的 .js 文件中,然后在 server.js 中引用。

安装并需要 Express

Express 不是 Node 的原生软件包,因此必须安装。由于您需要确保它包含在 Node 模块中,因此请确保在本地安装它,然后在服务器中引用它。

  • 在项目文件夹中,在 Node 中运行“npm install express”
npm install express
Enter fullscreen mode Exit fullscreen mode
  • 在您的 server.js 文件中插入“const express = require("express");”
const express = require("express");
Enter fullscreen mode Exit fullscreen mode

将 express 赋值给 app 变量

  • 在 server.js 文件中插入“const app = express();”。现在,您可以使用“app”来引用 express 实例(也就是您正在使用的服务器)。
const app = express();
Enter fullscreen mode Exit fullscreen mode

设置应用程序监听指定端口

  • 插入“app.listen(PORT, function () { console.log("应用程序在端口上运行" + PORT)})

  • PORT 可以直接指定,也可以分配为变量,例如“const PORT = process.env.PORT || 3000;”

const PORT = process.env.PORT || 3000;

app.listen(PORT, function() {
  console.log("App running on port" + PORT);
});
Enter fullscreen mode Exit fullscreen mode

设置应用程序以处理 JSON 和 URLencoded 请求的数据解析

  • 根据您的 API 所接收的请求类型,您需要启用中间件来解析 JSON 或 URL 编码的请求。您可以使用 app.use() 来实现。
// handle URLencoded requests
app.use(express.urlencoded({ extended: true }));

// handle JSON requests
app.use(express.json());
Enter fullscreen mode Exit fullscreen mode

启用静态文件自动返回

  • 设置应用程序自动返回静态文件,而无需为每个文件编写特定的路由(例如,包含 HTML、CSS 和客户端 JS 文件的“公共”文件夹)
app.use(express.static("public"));
Enter fullscreen mode Exit fullscreen mode

处理 REST 请求

编写路由来处理针对路径(GET、POST、PUT、DELETE)的 REST 请求。每个路由都需要一个回调函数,用于说明如何处理请求以及(如果适用)响应。我已编写了 GET 和 POST 回调函数的示例,因为它们是最常见的。

得到

app.get("path, function (req, res) {

/// res.send will return the string back to the client
res.send("Hello World!")

// res.sendFile will return the file back to the client
// check out the 'path' package on npm to avoid relative path issues
res.sendFile(path.join(__dirname, "../public/index.html"))})
Enter fullscreen mode Exit fullscreen mode

邮政


app.post("path", function (req, res) {

const request = req.body;
...
// handle database update
}).then(function (response) {
res.json(response)
})
Enter fullscreen mode Exit fullscreen mode


app.put("path, function (req, res) {

...
// handle database update
}).then(function (response) {
res.json(response)
})
Enter fullscreen mode Exit fullscreen mode

删除

app.delete("path", function (req, res) {
...
// handle database update
}).then(function (response) {
res.json(response)
Enter fullscreen mode Exit fullscreen mode

就是这样!只要你理解了这些函数的工作原理,你就对 Express 有了基本的了解,并且可以为全栈应用程序搭建服务器了。如果你有任何问题或建议,请告诉我!

文章来源:https://dev.to/ceceliacreates/express-basics-for-beginners-3e00
PREV
React Native 出租车应用:预订信息。Places API
NEXT
WSL2: Making Windows 10 the perfect dev machine!