Express.js 是一个流行的 Node.js Web 框架,它提供了许多有用的功能,例如路由、中间件和模板引擎,可以帮助我们快速构建 Web 应用程序。PostgreSQL 是一个强大的关系型数据库管理系统,它支持高级特性,如事务、触发器和视图。在本文中,我们将探讨如何使用 Express.js 和 PostgreSQL 进行应用程序开发。
安装和配置
要开始使用 Express.js 和 PostgreSQL,我们需要在本地安装它们。首先,我们需要安装 Node.js。可以在 Node.js 官方网站上找到适合自己操作系统的安装包。安装完成后,我们可以使用以下命令验证安装是否成功:
node -v
接下来,我们需要安装 Express.js。可以使用以下命令在全局安装 Express.js:
npm install -g express
安装完成后,我们可以使用以下命令创建一个新的 Express.js 应用程序:
express myapp
这将创建一个名为 myapp 的新应用程序。我们可以使用以下命令进入应用程序目录:
cd myapp
接下来,我们需要安装 PostgreSQL。可以在 PostgreSQL 官方网站上找到适合自己操作系统的安装包。安装完成后,我们可以使用以下命令验证安装是否成功:
psql --version
现在,我们已经安装了所有必需的软件,接下来,我们将配置我们的应用程序以使用 PostgreSQL。
首先,我们需要创建一个新的 PostgreSQL 数据库。可以使用以下命令:
createdb myapp
接下来,我们需要安装 Node.js 的 PostgreSQL 驱动程序。可以使用以下命令:
npm install pg --save
安装完成后,我们可以在应用程序中使用以下代码连接到 PostgreSQL 数据库:
-- -------------------- ---- ------- ----- - ---- - - -------------- ----- ---- - --- ------ ----- ----------- ----- ------------ --------- -------- --------- ----------- ----- ----- --- ------------------ ------- ----- ---- -- - ---------------- ----- ----------- ---
这将连接到名为 myapp 的 PostgreSQL 数据库,并执行一个简单的查询以验证连接是否正常工作。现在,我们已经完成了安装和配置,我们可以开始编写我们的应用程序。
编写应用程序
在本节中,我们将使用 Express.js 和 PostgreSQL 构建一个简单的 Web 应用程序。我们的应用程序将允许用户添加、删除和查看书籍。
首先,我们需要创建一个新的 Express.js 路由器。可以使用以下代码:
const express = require('express'); const router = express.Router();
接下来,我们需要编写一些路由处理程序来处理我们的请求。我们将使用以下代码创建一个处理程序,该处理程序将返回所有书籍的列表:
-- -------------------- ---- ------- --------------- ----- ---- ----- -- - ----- ----- - ------- - ---- ------- ----------------- ----- ------- -- - -- ----- - ------ ---------- - ----- ----- - ------------ ------------------- - ----- --- --- ---
这将查询 books 表中的所有书籍,并使用模板引擎将它们呈现给用户。我们将使用 EJS 模板引擎,可以使用以下命令安装它:
npm install ejs --save
接下来,我们需要创建一个名为 books.ejs 的模板文件。可以使用以下代码:
-- -------------------- ---- ------- --------- ----- ------ ------ -------------------- ------- ------ -------------- ---- -- ---------------------------- - -- ------- ---------- ------- -- -- -- ----- ------- -------
这将呈现一个简单的 HTML 页面,其中包含所有书籍的列表。现在,我们已经完成了处理 GET 请求的路由处理程序,接下来,我们需要处理 POST 请求。
我们将使用以下代码创建一个处理程序,该处理程序将添加新书籍:
-- -------------------- ---- ------- ---------------- ----- ---- ----- -- - ----- - ------ ------ - - --------- ----- ----- - ------- ---- ----- ------- ------- ------ ---- ----- ----------------- ------- -------- ----- ------- -- - -- ----- - ------ ---------- - ----------------------- --- ---
这将从请求正文中提取书籍的标题和作者,并将它们插入 books 表中。接下来,我们需要创建一个名为 add_book.ejs 的模板文件,该文件将包含一个表单,用户可以使用该表单添加新书籍:
-- -------------------- ---- ------- --------- ----- ------ ------ ---------- ------------ ------- ------ ------- --------- ----- ------------- ---------------- ------ -------------------------- ------ ----------- ------------ ---------- --------- ---- ------ ---------------------------- ------ ----------- ------------- ----------- --------- ---- ------- ----------------- ------------- ------- ------- -------
现在,我们已经完成了处理 POST 请求的路由处理程序和模板文件,接下来,我们需要处理 DELETE 请求。
我们将使用以下代码创建一个处理程序,该处理程序将删除指定的书籍:
-- -------------------- ---- ------- --------------------- ----- ---- ----- -- - ----- - -- - - ----------- ----- ----- - ------- ---- ----- ----- -- - ---- ----------------- ----- ----- ------- -- - -- ----- - ------ ---------- - -------------------- --- ---
这将从请求参数中提取书籍的 ID,并从 books 表中删除它。接下来,我们需要使用 JavaScript 和 AJAX 创建一个名为 delete.js 的客户端脚本,该脚本将向服务器发送 DELETE 请求:
-- -------------------- ---- ------- ----- ---------- - ----------------------------------------- ------------------------ -- - ----------------------------- ------- -- - ----- -- - ------------------------ --------------------- - ------- -------- -- -------- -- - ------------------ -- ------------ -- - ------------------- --- --- ---
现在,我们已经完成了处理 DELETE 请求的路由处理程序和客户端脚本,接下来,我们需要将路由器添加到我们的应用程序中。
我们将使用以下代码将路由器添加到我们的应用程序中:
-- -------------------- ---- ------- ----- --- - ---------- ---------------------------- --------- ----- ---- ------------------------------------------- ------------ ----------------- -------- ---------------- -- -- - ------------------- ------- -- ---- ------- ---
这将启动一个 Express.js 服务器,并将我们的路由器添加到 /books 路径上。现在,我们已经完成了应用程序的编写,接下来,我们可以使用以下命令启动应用程序:
node app.js
现在,我们可以在浏览器中访问 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