如何构建一个 Express.js 应用?

Express.js 是一个流行的 Node.js Web 框架,它可以快速构建 Web 应用程序。本文将详细介绍如何使用 Express.js 构建一个应用程序。

第一步:安装和设置 Express.js

在开始之前,你需要安装 Node.js 和 npm。然后在命令行中运行以下命令来创建一个新的 Express.js 项目:

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

这将创建一个 package.json 文件和一个 node_modules 目录,其中包含 Express.js 和其依赖项。

接下来,在项目的根目录下创建一个名为 app.js 的文件,并在其中添加以下代码:

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

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

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

这段代码创建了一个 Express.js 应用程序并定义了一个基本路由,当用户访问网站根目录时会返回 "Hello World!"。

现在,在命令行中运行以下命令启动应用程序:

---- ------

打开浏览器并访问 http://localhost:3000 即可查看结果。

第二步:路由和控制器

在 Express.js 中,路由是指 URL 和 HTTP 请求方法(GET、POST、PUT 等)的组合。可以通过定义路由来处理请求。在上面的示例中,我们定义了根目录的路由。

然而,在实际开发中,通常需要更复杂的路由和处理逻辑。为此,我们可以使用控制器来组织代码并处理请求。

在项目的根目录下创建一个名为 controllers 的目录,并在其中创建一个名为 homeController.js 的文件。在 homeController.js 文件中添加以下代码:

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

这段代码定义了一个 index 方法,该方法将处理根目录的 GET 请求并返回 "Hello World!"。

接下来,在 app.js 文件中添加以下代码:

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

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

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

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

这段代码加载 homeController.js 文件并将其与根目录的路由关联起来。当用户访问网站根目录时,Express.js 将调用 homeController.js 中的 index 方法来处理请求。

第三步:模板引擎

现在,我们已经能够构建一个基本的 Express.js 应用程序并处理简单的路由。但是,在实际开发中,通常需要向用户呈现动态内容。为此,我们可以使用模板引擎来生成 HTML。

在本文中,我们将使用 EJS 模板引擎。要使用 EJS,请运行以下命令安装 EJS:

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

接下来,在项目的根目录下创建一个名为 views 的目录,并在其中创建一个名为 index.ejs 的文件。在 index.ejs 文件中添加以下代码:

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

这段代码定义了一个简单的 HTML 模板,其中包含一个标题和一个消息。

现在,在 homeController.js 文件中修改 index 方法如下:

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

这段代码使用 EJS 模板引擎渲染 index.ejs 模板,并将 title 和 message 变量传递给模板以呈现动态内容。

最后,在 app.js 文件

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