图解NodeJS实现登录注册功能


Posted in NodeJs onSeptember 16, 2019

该Demo根据菜鸟教程的练手项目,请提前到菜鸟教程的官网查看nodejs的相关教程,根据教程实际操作一遍,然后自己动手去实现登录、注册功能,此Demo只作参考,不符合前端相关规范。

图解NodeJS实现登录注册功能 

使用的技术栈

node+express+mongodb

项目目录结构

  • node_modules: 第三方模块目录
  • public: 公共文件目录(js、css、image)
  • login.html:登录页面
  • register.html:注册页面
  • main.html:主页面
  • db.js:数据库相关封装(数据库添加、查询)
  • login.js:接口启动文件(登录、注册接口)

登录场景

(1)用户名不能为空;

(2)密码不能为空;

(3)用户名和密码不为空的情况下,查询数据库,判断用户是否存在。 如果存在,判断用户名和密码是否一致,一致登录成功;不一致返回用户名或密码错误; 如果不存在,直接返回不存在该用户。

注册场景

(1)用户名不能为空;

(2)密码不能为空;

(3)用户名和密码不为空的情况下,查询数据库,判断用户是否存在。 如果存在,返回该用户已存在,可直接登录; 如果不存在,注册用户,插入数据库。

部分操作演示

登录

图解NodeJS实现登录注册功能 主页
图解NodeJS实现登录注册功能 注册
图解NodeJS实现登录注册功能 插入数据库
图解NodeJS实现登录注册功能

项目初始化

1、新建目录

新建目录,例如:node-login

2、安装express

安装 Express 并将其保存到依赖列表中: 打开cmd命令行,定位到项目目录,使用命令行 cnpm install express --save 如下图:

图解NodeJS实现登录注册功能

以上命令会将 Express 框架安装在当前目录的 node_modules 目录中, node_modules 目录下会自动创建 express 目录。以下几个重要的模块是需要与 express 框架一起安装的:

  • body-parser - node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。
  • cookie-parser - 这就是一个解析Cookie的工具。
  • 通过req.cookies可以取到传过来的cookie,并把它们转成对象。
  • multer - node.js 中间件,用于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据。

使用的命令如下:

cnpm install body-parser --save
cnpm install cookie-parser --save
cnpm install multer --save

依赖的模块如图:

图解NodeJS实现登录注册功能 

3、安装MongoDB

使用命令 cnpm install mongodb

4、新建文件夹public

新建public文件夹,用来存放公共文件目录(js、css、image)

5、github地址:node-login,欢迎start。

总结

以上所述是小编给大家介绍的图解NodeJS实现登录注册功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

NodeJs 相关文章推荐
跟我学Nodejs(二)--- Node.js事件模块
May 21 NodeJs
nodejs 实现模拟form表单上传文件
Jul 14 NodeJs
NodeJS学习笔记之Http模块
Jan 13 NodeJs
nodejs事件的监听与触发的理解分析
Feb 12 NodeJs
Nodejs实现批量下载妹纸图
May 28 NodeJs
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
Aug 21 NodeJs
Nodejs如何复制文件
Mar 09 NodeJs
nodejs个人博客开发第三步 载入页面
Apr 12 NodeJs
Nodejs中Express 常用中间件 body-parser 实现解析
May 22 NodeJs
ubuntu编译nodejs所需的软件并安装
Sep 12 NodeJs
NodeJS简单实现WebSocket功能示例
Feb 10 NodeJs
NodeJS配置CORS实现过程详解
Dec 02 NodeJs
详解NodeJs项目 CentOs linux服务器线上部署
Sep 16 #NodeJs
nodejs一个简单的文件服务器的创建方法
Sep 13 #NodeJs
nodejs的安装使用与npm的介绍
Sep 11 #NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 #NodeJs
NodeJS 文件夹拷贝以及删除功能
Sep 03 #NodeJs
纯异步nodejs文件夹(目录)复制功能
Sep 03 #NodeJs
nodejs文件夹深层复制功能
Sep 03 #NodeJs
You might like
PHP中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
php mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
PHP mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
PHP 开发环境配置(Zend Server安装)
2010/04/28 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
JS+CSS实现滑动切换tab菜单效果
2015/08/25 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
react-router-dom 嵌套路由的实现
2020/05/02 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
python调用shell的方法
2013/11/20 Python
在Python下尝试多线程编程
2015/04/28 Python
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
Python实现的计算马氏距离算法示例
2018/04/03 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
Django框架多表查询实例分析
2018/07/04 Python
详解Django的model查询操作与查询性能优化
2018/10/16 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
2019/04/01 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
大学生就业推荐表自我评价
2015/03/02 职场文书
目标责任书格式范文
2015/05/11 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
小学英语听课心得体会
2016/01/14 职场文书
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技