视频教程:使用 Express.js 构建简单的 Web 应用

1. 什么是 Express.js

Express.js 是一个基于 Node.js 平台的 Web 应用开发框架,可以快速地使用 JavaScript 语言构建 Web 应用和 API。

Express.js 具有以下特点:

  • 简洁而灵活的路由系统
  • 集成了大量的中间件,方便扩展
  • 可以方便地进行错误处理
  • 支持多种视图引擎(如 Pug 和 EJS)
  • 可以快速地构建 RESTful API

2. 安装 Express.js 和准备工作

在开始学习前,请确保已安装 Node.js 框架。如果您还没有安装,可以前往 Node.js 的官方网站下载并安装。

接下来,我们可以通过以下命令安装 Express.js:

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

此外,我们需要在项目中安装以下中间件:

  • body-parser:用于解析 HTTP POST 请求体
  • method-override:用于支持 HTTP PUT 和 DELETE 请求方法
  • cookie-parser:用于解析 HTTP Cookie
  • express-session:用于创建会话

安装的命令如下:

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

3. 使用 Express.js 构建简单的 Web 应用

在构建我们的 Web 应用之前,我们需要明确我们的应用要做什么。在本文中,我们将构建一个简单的待办清单应用程序。我们将使用 Express.js 框架来创建 RESTful API,并将数据存储在内存中。我们的应用将支持以下几个路由:

  • 获取待办事项列表
  • 创建新待办事项
  • 获取单个待办事项
  • 更新待办事项
  • 删除待办事项

接下来,我们将逐步构建这个应用。

3.1 创建 Express.js 应用

在我们的项目根目录中,我们可以创建一个名为 app.js 的文件。在该文件中,我们首先需要将 Express.js 模块导入到我们的应用程序中:

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

接下来,我们可以使用 app.listen() 方法来开始侦听指定端口的请求:

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

现在,我们可以在终端中运行 node app.js 命令启动我们的应用程序。如果一切正常,我们将看到 Server started on port 3000... 的消息。

3.2 创建路由

在 Express.js 中,我们可以使用 app.get()app.post()app.put()app.delete() 方法创建路由。这些方法分别对应于 HTTP GET、POST、PUT 和 DELETE 请求。

首先,让我们创建一个名为 tasks.js 的新文件来存储我们的路由。在该文件中,我们首先需要将 Express.js 模块导入到我们的应用程序中:

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

接下来,我们可以使用 router.get()router.post()router.put()router.delete() 方法创建路由。

我们可以使用以下代码创建一个获取所有待办事项的路由:

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

在上面的代码中,我们使用 res.send() 方法将我们的待办事项数据发送到客户端。

接下来,我们可以使用以下代码创建一个新的待办事项:

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

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

在上面的代码中,我们使用 uuid.v4() 函数生成一个唯一的任务ID,并使用 tasks.push() 方法将新任务添加到任务列表中。

我们还可以创建以下路由:

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

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

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

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

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

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

在上面的代码中,我们使用 tasks.find() 方法查找具有指定ID的任务,并使用 tasks.splice() 方法删除任务。

3.3 使用中间件

在 Express.js 中,我们可以使用中间件函数对请求进行预处理。

我们可以使用以下代码将 body-parsercookie-parser 中间件添加到我们的应用程序中:

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

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

在上面的代码中,我们使用 app.use() 方法将中间件添加到应用程序中。

3.4 使用会话

在 Express.js 中,我们可以使用 express-session 中间件来创建会话。

我们可以使用以下代码将 express-session 中间件添加到我们的应用程序中:

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

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

在上面的代码中,我们使用 app.use() 方法将 express-session 中间件添加到应用程序中。secret 选项用于设置会话的私钥,resave 选项指示会话是否应在每个请求期间重新保存,saveUninitialized 选项指示会话是否应在不需要时保存。

4. 示例代码

在这里,我们提供了一个完整的示例代码,您可以将其复制粘贴到您的项目中。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5. 结论

在本文中,我们介绍了如何使用 Express.js 框架来构建简单的 Web 应用程序。我们了解了 Express.js 的基本知识,并构建了一个待办事项应用程序。我们学习了如何创建路由、使用中间件和会话,并提供了示例代码来帮助您开始构建自己的应用程序。希望这篇文章对您的学习和实践有所帮助!

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