使用 Express.js 与 PostgreSQL 进行应用程序开发

阅读时长 8 分钟读完

Express.js 是一个流行的 Node.js Web 框架,它提供了许多有用的功能,例如路由、中间件和模板引擎,可以帮助我们快速构建 Web 应用程序。PostgreSQL 是一个强大的关系型数据库管理系统,它支持高级特性,如事务、触发器和视图。在本文中,我们将探讨如何使用 Express.js 和 PostgreSQL 进行应用程序开发。

安装和配置

要开始使用 Express.js 和 PostgreSQL,我们需要在本地安装它们。首先,我们需要安装 Node.js。可以在 Node.js 官方网站上找到适合自己操作系统的安装包。安装完成后,我们可以使用以下命令验证安装是否成功:

接下来,我们需要安装 Express.js。可以使用以下命令在全局安装 Express.js:

安装完成后,我们可以使用以下命令创建一个新的 Express.js 应用程序:

这将创建一个名为 myapp 的新应用程序。我们可以使用以下命令进入应用程序目录:

接下来,我们需要安装 PostgreSQL。可以在 PostgreSQL 官方网站上找到适合自己操作系统的安装包。安装完成后,我们可以使用以下命令验证安装是否成功:

现在,我们已经安装了所有必需的软件,接下来,我们将配置我们的应用程序以使用 PostgreSQL。

首先,我们需要创建一个新的 PostgreSQL 数据库。可以使用以下命令:

接下来,我们需要安装 Node.js 的 PostgreSQL 驱动程序。可以使用以下命令:

安装完成后,我们可以在应用程序中使用以下代码连接到 PostgreSQL 数据库:

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

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

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

这将连接到名为 myapp 的 PostgreSQL 数据库,并执行一个简单的查询以验证连接是否正常工作。现在,我们已经完成了安装和配置,我们可以开始编写我们的应用程序。

编写应用程序

在本节中,我们将使用 Express.js 和 PostgreSQL 构建一个简单的 Web 应用程序。我们的应用程序将允许用户添加、删除和查看书籍。

首先,我们需要创建一个新的 Express.js 路由器。可以使用以下代码:

接下来,我们需要编写一些路由处理程序来处理我们的请求。我们将使用以下代码创建一个处理程序,该处理程序将返回所有书籍的列表:

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

这将查询 books 表中的所有书籍,并使用模板引擎将它们呈现给用户。我们将使用 EJS 模板引擎,可以使用以下命令安装它:

接下来,我们需要创建一个名为 books.ejs 的模板文件。可以使用以下代码:

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

这将呈现一个简单的 HTML 页面,其中包含所有书籍的列表。现在,我们已经完成了处理 GET 请求的路由处理程序,接下来,我们需要处理 POST 请求。

我们将使用以下代码创建一个处理程序,该处理程序将添加新书籍:

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

这将从请求正文中提取书籍的标题和作者,并将它们插入 books 表中。接下来,我们需要创建一个名为 add_book.ejs 的模板文件,该文件将包含一个表单,用户可以使用该表单添加新书籍:

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

现在,我们已经完成了处理 POST 请求的路由处理程序和模板文件,接下来,我们需要处理 DELETE 请求。

我们将使用以下代码创建一个处理程序,该处理程序将删除指定的书籍:

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

这将从请求参数中提取书籍的 ID,并从 books 表中删除它。接下来,我们需要使用 JavaScript 和 AJAX 创建一个名为 delete.js 的客户端脚本,该脚本将向服务器发送 DELETE 请求:

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

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

现在,我们已经完成了处理 DELETE 请求的路由处理程序和客户端脚本,接下来,我们需要将路由器添加到我们的应用程序中。

我们将使用以下代码将路由器添加到我们的应用程序中:

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

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

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

这将启动一个 Express.js 服务器,并将我们的路由器添加到 /books 路径上。现在,我们已经完成了应用程序的编写,接下来,我们可以使用以下命令启动应用程序:

现在,我们可以在浏览器中访问 http://localhost:3000/books 来查看所有书籍的列表,并使用 http://localhost:3000/books/add_book 来添加新书籍。

结论

在本文中,我们学习了如何使用 Express.js 和 PostgreSQL 构建一个简单的 Web 应用程序。我们学习了如何使用 Express.js 路由、PostgreSQL 数据库和 EJS 模板引擎来处理请求和呈现响应。我们还学习了如何使用 JavaScript 和 AJAX 向服务器发送 DELETE 请求以删除书籍。希望本文对您有所帮助,让您更好地理解如何使用 Express.js 和 PostgreSQL 进行应用程序开发。

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

纠错
反馈