Node.js 如何使用 Express.js 框架?

阅读时长 5 分钟读完

Node.jsExpress.js 是前端领域里最受欢迎的技术之一。Node.js 能够利用 JavaScript 构建高性能的网络应用程序,而 Express.js 是 Node.js 的一个 Web 框架,它可以帮助我们构建轻量级、灵活的 Web 应用程序。在本文中,我们将介绍如何使用 Express.js 来构建一个简单的 Web 应用程序,让你可以快速开始学习和使用。

安装 Express.js

首先我们需要安装 Express.js。在 Node.js 环境中,使用 npm 包管理器来安装 Express.js 是最简单的方式。打开命令行终端并输入以下命令:

使用 --save 标志可以在 package.json 文件中保存所有的依赖,这样你以后再次安装应用程序时就能直接运行 npm install,安装依赖而不必单独安装每个软件包。

创建 Express.js 应用程序

接下来我们将创建一个 app.js 文件来启动我们的 Express.js 应用程序。在文件中添加以下代码:

-- -------------------- ---- -------
----- ------- - ------------------
----- --- - ---------

----- ---- - ----

------------ ----- ---- -- -
  --------------- --------
--

---------------- -- -- -
  ------------------- --------- -- --------------------------
--

在这个代码中,我们首先从 express 模块中导入 express,然后创建了一个 app 对象。app 对象是我们的应用程序的核心,通过它我们可以配置路由和中间件、处理请求和响应等等。

port 变量定义了我们应用程序将要监听的端口号。在下面的代码中,我们使用 app.get() 方法来定义了一个根路由 /,当客户端访问根路由时,我们将向客户端发送一条 Hello World! 的响应。最后,我们使用 app.listen() 方法来启动应用程序,使其可以在指定的端口上监听请求。

运行应用程序

我们已经编写了一个简单的应用程序,现在我们来启动它。打开终端并进入到刚才创建的 app.js 文件所在的目录,然后输入以下命令:

如果一切正常,我们应该能够在终端看到一条类似于 Server listening at http://localhost:3000 的消息。现在我们可以在浏览器中通过地址 http://localhost:3000/ 来访问我们的应用程序了。

添加路由

在我们的应用程序中添加路由非常方便。我们可以使用 app.get()app.post()app.put() 等方法来定义我们的路由。这些方法都需要接收两个参数:请求路径和一个回调函数。回调函数将处理请求并发送响应。

上述代码定义了两个路由。第一个路由将会匹配所有 /users 路径的 GET 请求,映射到回调函数并向客户端发送一条内容为 用户列表 的响应。第二个路由使用了参数 :id,它将匹配所有 /users/:id 路径的 GET 请求,并且参数 :id 将作为回调函数中的 req.params.id 参数的值。例如,当访问 /users/1 时,将会向客户端发送一条内容为 用户 1 的响应。

添加中间件

Express.js 还允许我们将自定义的中间件添加到应用程序中。中间件是一些函数,它们可以访问 Request 和 Response 对象,并且可以执行一些操作,如解析请求体、验证请求、设置响应头等等。要添加自定义中间件,我们可以使用 app.use() 方法。app.use() 方法将会在所有的请求上执行自定义的中间件。

上述代码添加了一个自定义的中间件。它使用 console.log() 来打印出请求的 HTTP 方法和路径。然后它调用了 next() 方法来将请求传递给下一个中间件或路由处理程序。此外,我们还可以将多个中间件按顺序添加到应用程序。例如:

在这个例子中,我们添加了三个内置的中间件。express.json() 中间件用于解析请求体中的 JSON 格式数据。express.urlencoded() 中间件用于解析 URL 编码的请求体数据。cookieParser() 中间件用于解析 cookies。

总结

在本文中,我们介绍了如何使用 Express.js 框架来构建简单的 Web 应用程序。我们了解了如何安装 Express.js,如何创建应用程序和路由,以及如何添加自定义中间件。下一步我们可以探索更复杂的应用程序,如用 MongoDB 存储数据,使用模板引擎来渲染页面等等。

完整代码示例:https://github.com/michaelwenqi/expressjs-demo

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/651e897395b1f8cacd638182

纠错
反馈