Express.js 实战:构建一个简单的博客应用

Express.js 是一个流行的 Node.js Web 应用程序框架,它提供了一种快速构建 Web 应用程序的方式。在本文中,我们将介绍如何使用 Express.js 构建一个简单的博客应用程序。本文将包括以下主题:

  1. 安装和设置 Express.js。
  2. 构建一个简单的博客应用程序。
  3. 使用模板引擎渲染页面。
  4. 添加路由和控制器。
  5. 使用 MongoDB 存储数据。

安装和设置 Express.js

要开始使用 Express.js,您需要先安装 Node.js。在安装 Node.js 之后,您可以使用以下命令安装 Express.js:

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

这将安装 Express.js 并将其添加到您的项目依赖项中。

构建一个简单的博客应用程序

现在您已经安装了 Express.js,让我们开始构建一个简单的博客应用程序。我们将使用 Express.js 创建一个 Web 服务器,并在其中呈现博客文章。

首先,我们需要创建一个名为 server.js 的文件,并在其中添加以下代码:

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

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

这将创建一个 Express.js 应用程序并将其绑定到端口 3000。现在,我们可以在浏览器中访问 http://localhost:3000 来查看我们的应用程序是否正常运行。

使用模板引擎渲染页面

现在我们已经创建了一个简单的 Express.js 应用程序,让我们添加一些视图来渲染博客文章。我们将使用 EJS(Embedded JavaScript)模板引擎来渲染我们的视图。

首先,我们需要安装 EJS:

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

现在,我们可以在 server.js 中设置 EJS 视图引擎:

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

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

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

接下来,我们需要创建一个名为 views 的文件夹,并在其中创建一个名为 index.ejs 的文件。在 index.ejs 文件中,我们可以使用 EJS 语法来呈现博客文章。

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

这将渲染博客文章的标题和正文。现在,我们需要在 server.js 中定义一些虚拟博客文章,以便我们可以在视图中呈现它们。

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

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

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

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

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

这将呈现我们的博客文章列表,并在浏览器中显示它们。

添加路由和控制器

现在我们已经设置了视图引擎并可以呈现博客文章,让我们添加一些路由和控制器来处理更多的请求。

首先,我们需要创建一个名为 routes 的文件夹,并在其中创建一个名为 posts.js 的文件。在 posts.js 文件中,我们可以定义一些路由和控制器来处理博客文章的请求。

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

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

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

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

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

这将定义两个路由://:id。我们将使用 / 路由来呈现博客文章列表,并使用 /:id 路由来呈现单个博客文章。

接下来,我们需要在 server.js 中使用 posts.js 路由:

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

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

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

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

现在我们可以在浏览器中访问 http://localhost:3000/posts 来查看博客文章列表,并访问 http://localhost:3000/posts/0 来查看第一篇博客文章。

使用 MongoDB 存储数据

最后,让我们将博客文章存储在 MongoDB 数据库中。我们将使用 Mongoose ORM(对象关系映射)来管理我们的 MongoDB 数据库。

首先,我们需要安装 Mongoose:

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

现在,我们可以在 server.js 中设置 Mongoose:

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

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

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

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

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

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

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

这将连接到名为 my-blog 的 MongoDB 数据库,并定义一个名为 Post 的模型。

接下来,我们需要在 posts.js 文件中使用 Post 模型来存储和检索博客文章:

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

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

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

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

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

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

这将使用 Post 模型来存储和检索博客文章,并使用 / 路由来处理 POST 请求以创建新的博客文章。

现在,我们可以在浏览器中访问 http://localhost:3000/posts 来查看博客文章列表,并使用表单来创建新的博客文章。

结论

在本文中,我们介绍了如何使用 Express.js 构建一个简单的博客应用程序,并使用 EJS 模板引擎呈现博客文章。我们还添加了路由和控制器来处理更多的请求,并使用 Mongoose ORM 将博客文章存储在 MongoDB 数据库中。希望本文能够帮助您了解如何使用 Express.js 构建 Web 应用程序,并为您提供有用的指导。

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