步骤一:创建项目并安装依赖
- 初始化项目
npm init - 安装相关依赖
安装创建Web应用程序、处理表单数据、管理会话和连接MongoDB数据库等依赖
npm install express body-parser cookie-parser express-session mongoose connect-mongo bcryptjs --save
步骤二:创建服务器
在你的项目中创建一个名为server.js的文件编写以下代码
这段代码首先导入了所需的依赖,并创建了一个Express应用程序和一个端口号为3000的服务器。然后,它使用Mongoose连接到MongoDB数据库,并定义了一个名为User的模型,该模型表示用户数据的结构。
接下来,它使用中间件来处理表单数据、Cookie和会话。最后,它启动了服务器并在控制台中输出一条消息,以告知您的服务器已经成功启动。
步骤三:创建登陆路由
接下来,需要在server.js文件中创建一个路由来处理用户的登录请求。在的server.js文件中添加以下代码: 这段代码使用了Express中的app.post()方法来创建一个处理POST请求的路由。当用户提交登录表单时,该路由将在数据库中查找用户名是否存在,并使用bcrypt.compare()方法来比较用户提交的密码和数据库中的密码是否匹配。如果匹配,则将用户信息存储在会话中,并将用户重定向到仪表板页面;否则,将向用户发送错误消息。
步骤四:创建仪表板路由
接下来,需要创建一个仪表板路由,以便在用户成功登录后显示仪表板页面。在的server.js文件中添加以下代码: 这段代码使用了Express中的app.get()方法来创建一个处理GET请求的路由。它首先检查用户是否已登录,如果未登录,则将用户重定向到登录页面;否则,将向用户发送欢迎消息,并在消息中包含用户名。
步骤五:创建登录页面
最后,需要创建一个登录页面,以便用户能够提交用户名和密码。在您的项目文件夹中创建一个名为views的文件夹,并在该文件夹中创建一个名为login.ejs的文件。在该文件中添加以下代码: 这段代码使用了Embedded JavaScript(EJS)模板引擎来创建一个简单的登录表单,其中包含用户名和密码字段。它还包含了一个用于显示错误消息的条件语句。
步骤六:启动应用程序
最后,您需要在终端中运行以下命令,以启动您的应用程序:
node server.js
现在,您可以在Web浏览器中打开http://localhost:3000/login页面,以访问您的登录页面并进行测试。