Node.js 框架 Express 的使用教程和最佳实践

什么是Express?

Express是一个用于Web应用程序开发的Node.js框架,它提供了各种功能,如路由、中间件、模板引擎等。Express被广泛使用,是Node.js应用程序开发过程中最流行的框架之一。

安装

在开始使用Express之前,我们需要安装Node.js。可以从nodejs.org下载并安装Node.js。安装完成后,打开终端窗口并输入以下命令安装Express:

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

Hello World

下面是一个简单的Express应用程序示例,将显示“Hello World!”:

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

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

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

这里,我们首先引入Express模块,然后创建一个Express应用程序。我们在根路由上定义了一个GET请求处理程序,它将发送“Hello World!”响应。最后,我们启动服务器在端口3000上监听请求。

要运行此应用程序,请将代码复制到一个名为app.js的新文件中,然后使用以下命令运行:

---- ------

现在,如果您在浏览器中打开http://localhost:3000/,您将看到“Hello World!”消息。

路由

路由是指确定如何响应请求URL的机制。在Express中,路由是指将HTTP请求方法和URL映射到请求处理程序的机制。

例如,下面的代码为GET请求的“/user”URL注册一个路由,并向客户端发送一个名为“Bob”的响应:

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

此代码表示当用户请求“/user”URL时,我们将向客户端发送“Bob”响应。类似地,我们可以为POST请求注册路由:

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

也可以使用通配符来匹配多个URL:

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

在上面的代码中,我们为形如“/users/:id”的URL注册了一个GET请求路由,其中“:id”是一个通配符,表示请求的ID。在路由处理程序中,我们可以使用req.params.id来检索传递给路由的ID。

中间件

中间件是用于处理HTTP请求的函数。在Express中,中间件被定义为使用app.use()或app.METHOD()函数注册的函数。类似于路由,HTTP请求方法可指定为app.METHOD(),其中METHOD是请求方法,如get、post等。

中间件可以为请求添加自定义头,验证身份验证凭据,记录请求信息等。下面的代码示例为所有请求注册了一个记录请求时间的中间件:

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

在上面的代码中,我们将使用app.use()函数为我们的应用程序注册了一个中间件。中间件打印出请求的时间戳,并调用next()函数通知Express移动到下一个中间件或路由执行。

在路由中使用中间件:

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

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

在上面的代码中,我们将路由处理程序的前面添加了一个myMiddleware中间件。中间件打印出消息“Hello from myMiddleware!”,然后调用next()函数以启动路由处理程序。

模板引擎

Express支持多种模板引擎,如EJS和Handlebars。模板引擎是将数据和模板组合成HTML页面的工具。在下面的示例中,我们将使用EJS模板引擎。

使用EJS模板引擎,我们可以定义一个模板文件,其中包含HTML和EJS标记:

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

在上面的代码中,我们使用EJS标记<%= name %>来指定将插入name变量的位置。

接下来,我们可以在我们的Express应用程序中使用此模板。要使用模板,我们需要设置模板引擎,告诉Express在哪里可以找到模板文件,并将数据传递给模板。下面的代码演示了如何执行这些操作:

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

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

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

在上面的代码中,我们将应用程序的视图引擎设置为EJS,并将应用程序的视图设置为相对于文件夹__dirname/views中的视图文件。接下来,我们定义路由处理程序,调用res.render()函数以将数据传递给名为index的视图。

最佳实践

以下是一些可以帮助您在使用Express时遵循最佳实践的提示:

  • 使用中间件:中间件是非常强大的工具,可以帮助您处理各种任务。使用中间件来记录请求,验证登陆凭证等。
  • 使用调试器:调试器是开发过程中的强大工具。Express内置了调试器,可以帮助您在开发应用程序时快速发现和解决问题。
  • 保持清晰简洁的代码:保持简短的代码可以提高代码的可读性和可维护性。将函数分解为更小的函数,并在整个应用程序中使用统一的代码风格,可以帮助您编写更好的应用程序。

结论

Express是一个非常强大的Node.js框架,它提供了各种功能,如路由、中间件和模板引擎。它是构建高性能Web应用程序的绝佳选择,是Node.js生态系统中最受欢迎的框架之一。本文提供了使用Express的基本知识和最佳实践,以便您可以开始构建自己的Express应用程序。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6732fde20bc820c5823fe66c