随着互联网的发展,Web 应用程序成为了越来越多人使用的工具。作为 Web 应用程序的核心架构之一,前端技术越来越重要。Express.js 是一种流行的 Node.js 框架,它简化了 Web 应用程序的开发过程。本文将介绍 Express.js 结合 MySQL 实现注册登录及用户信息查询的方法。
环境准备
在开始实现前,我们需要完成以下环境准备:
- Node.js 环境
- MySQL 数据库
创建 Express.js 项目
首先,打开命令行工具,创建一个新项目文件夹,并使用 npm 初始化。在命令行中输入以下命令:
----- ------------------ -- ------------------ --- ----
按照提示一步一步完成项目初始化。完成后,我们可以使用以下命令安装 Express.js 和其他丰富的中间件:
--- ------- ------- ----------- ------------- ------ --------------- ----- ------
安装完成后,我们可以在项目根目录创建一个名为 app.js
的主文件。
连接 MySQL 数据库
在 app.js
文件中,我们需要使用 MySQL 模块连接到数据库。以下是完整的连接代码:
--- ----- - ----------------- --- ---------- - ------------------------ ----- ------------ ----- ------- --------- --- --------- ------------ --- ---------------------------------- - -- ------- ----- ------ ---------------------- -- ------------ ---
我们可以通过更改相关参数来连接到自己的 MySQL 数据库。
创建用户表
在我们能够实现用户注册和登录之前,我们需要为我们的应用程序创建一个用户表。以下是一个简单的用户表 SQL:
------ ----- -- --- ------ ----- - -- ------- -------------- ------- ---- ----- ----------- --- ----- -------- ----------- --- ----- ---------- --------- ------- ----------------- - ------------- ------- -------------
我们需要使用以下的命令将此 SQL 执行在 MySQL 数据库上:
----- -- ---- -- - ---------
这将在数据库中创建一个名为 users
的表。
实现注册
接下来,我们将创建一个 Express.js 路由来处理用户注册。以下是注册路由的完整代码:
--- ------- - ------------------- --- ------ - ----------------- --- ------ - ------------------ --- ---------- - -------------------- --- ---------- - ----------------------- ---------------------------------- --------- ----- ---- ------------------------------ ------------------------ ----------------- --------- - --- ----- - ------------------- --- -------- - --------------------------------------------------------------------- --- ----- - ------- ---- ----- ------- --------- ------ --- - ----- - --- -- - -------- - ----- ----------------------- --------------- -------- - -- ------- ----- ------ ------------------- ---------- ---------------- --- --- -------------- - -------
这个路由只有在收到 POST 请求时才会触发。路由会使用 crypto 模块中的 MD5 加密算法来加密用户密码存储到数据库中。最后,路由将响应用户注册成功状态。我们可以通过以下命令将注册路由添加到应用程序中:
--- -------- - ----------------------------- ------------ ----------
实现登录
接下来,我们将创建一个登录路由,处理用户的登录操作。以下是登录路由的完整代码:
--- ------- - ------------------- --- ------ - ----------------- --- ------ - ------------------ --- ---------- - -------------------- --- ---------- - ----------------------- ---------------------------------- --------- ----- ---- ------------------------------ --------------------- ----------------- --------- - --- ----- - ------------------- --- -------- - --------------------------------------------------------------------- --- ----- - ------- - ---- ----- ----- ----- - -- - ----- - -- --- -------- - -- - -------- - ---- ----------------------- --------------- -------- - -- ------- ----- ------ -- --------------- --- -- - ------------------------ - ----- --------------------- - ------ -------------------- -------------- - ---- - ------------------------ ----- -- ------------ - --- --- -------------- - -------
此路由仅在收到 POST 请求时才会触发。它也使用 crypto 模块的 MD5 加密算法来加密用户密码以与数据库存储的密码进行比较。如果提供的电子邮件地址和密码与数据库中存储的匹配,则路由将创建一个名为 loggedin 的会话变量,并将其设置为 true。最后路由返回登录成功的状态。我们可以通过以下命令将登录路由添加到应用程序中:
--- ----- - -------------------------- ------------ -------
实现用户信息查询
接下来,我们将创建一个用户信息查询路由,以显示已登录用户的详细信息。以下是用户信息查询路由中的完整代码:
--- ------- - ------------------- --- ------ - ----------------- --- ---------- - -------------------- ---------------------- ----------------- --------- - -- -------------------------- - --- ----- - ---------------------- --- ----- - ------- ------ ---------- ---- ----- ----- ----- - -- - ----- - ---- ----------------------- --------------- -------- - -- ------- ----- ------ ----------------------- - - ---------------- - -- ---- ------- --- ------- -- - - --------------------- - ----- --- - ---- - --------------------- ----- -- ---- ---- -------- - --- -------------- - -------
此路由仅在收到 GET 请求时才会触发。它将检查登录用户的 loggedin 会话变量是否为 true。如果是,路由将查找电子邮件地址与会话变量相匹配的用户,并向用户返回其电子邮件地址和创建时间。最后,路由返回欢迎信息。我们可以通过以下命令将用户信息查询路由添加到应用程序中:
--- ------- - ---------------------------- ------------ ---------
总结
Express.js 提供了一种简单但强大的方法来构建 Web 应用程序。结合 MySQL,可以实现用户注册、登录和信息查询的功能。本文讨论了如何使用 Express.js 和 MySQL 完成这些任务的步骤,旨在帮助开发者更好地理解应用程序的实现过程。完整的示例代码可在 GitHub 上找到。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64e2fda3f6b2d6eab3e4c46c