图解NodeJS实现登录注册功能

该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实现登录注册功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

时间: 2019-09-14

Nodejs实现用户注册功能

1创建连接池对象 2导出连接池对象 /** * 1.引入mysql模块 * 2.创建连接池对象 * 3.导出连接池对象 */ const mysql = require('mysql'); var pool = mysql.createPool({ host:'localhost', port:'3306', user:'xxx', password:'xxx', database:'xxx', connectionLimit:20 }); module.exports = pool; 1托管静

Nodejs进阶:express+session实现简易登录身份认证

文档概览 本文基于express.express-session实现了简易的登录/登出功能,完整的代码示例可以在这里找到. 环境初始化 首先,初始化项目 express -e 然后,安装依赖. npm install 接着,安装session相关的包. npm install --save express-session session-file-store session相关配置 配置如下,并不复杂,可以见代码注释,或者参考官方文档. var express = require('expres

Express+Nodejs 下的登录拦截实现代码

原来一直不知道怎么在Express+Nodejs里面添加类似于Struts2的拦截器(因为要使用登录拦截的功能). 以前一直以为在router这块添加类似一下的转移路由控制权代码的(每个都加很麻烦) app.get('/show', controllers.checkLogin);//登录验证 app.get('/show', controllers.showList);//实际跳转 又或者是像某些项目里面给每个controller的方法里面加以下这种验证(太繁琐了) if (!req.sess

通过Nodejs搭建网站简单实现注册登录流程

1. 使用Backbone实现前端hash路由 初步设想将注册和登录作为两个不同的url实现,但登录和注册功能的差距只有form表单部分,用两个url实现显然开销过大,所以最终方案为使用hash作为前端路由,根据url的hash值切换相应的表单显示. 很多致力于SPA开发的前端框架都具备hash路由功能,考虑到嗨猫本身是一个类博客.偏重静态展示的网站,所以最后选择了轻量级的Backbone最为前端框架. Backbone实现hash路由的代码很简单: let $formBox = $('.box

Google官方支持的NodeJS访问API,提供后台登录授权

安装 此库通过npm发布.通过以下命令安装googleapis及其依赖 $ npm install googleapis 完整的API支持列表 https://developers.google.com/apis-explorer 使用 例1: 通过Google短地址获取完整地址 var google = require('googleapis'); var urlshortener = google.urlshortener('v1'); var params = { shortUrl: 'h

NodeJS基础API搭建服务器详细过程记录

前言 在习惯了使用express框架,jade模板引擎等现成工具来写代码之后,很多人对于基本的NodeJS API会慢慢生疏.本文将以一个超小型web项目,来详细介绍如何使用NodeJS基础的http, fs, path, url等模块提供的API来搭建一个简单的web服务器.当做对NodeJS的一次复习,也为初学NodeJS的开发者提供一个参考.本文所搭建的项目将不会使用express等后端框架,仅使用最基础的NodeJS API,按照MVC设计模式的思路进行编码和讲解,交流意见.源代码地址如

用nodejs访问ActiveX对象,以操作Access数据库为例。

起因 有人提问"如果用nodejs访问sql server?" 找了找资料,发现有两类解决方法,使用第三方nodejs插件:https://github.com/orenmazor/node-tds.使用ADODB.ConnectionActiveX对象. 参考: http://stackoverflow.com/questions/857670/how-to-connect-to-sql-server-database-from-javascript http://stackover

Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解

之前写过一篇Yii2框架制作RESTful风格的API快速入门教程,今天接着来探究一下Yii2 RESTful的格式化响应,授权认证和速率限制三个部分 一.目录结构 先列出需要改动的文件.目录如下: web ├─ common │ └─ models │ └ User.php └─ frontend ├─ config │ └ main.php └─ controllers └ BookController.php 二.格式化响应 Yii2 RESTful支持JSON和XML格式,如果想指定返回

nodejs服务搭建教程 nodejs访问本地站点文件

本教程为大家分享了nodejs服务搭建和如何访问本地站点文件,供大家参考,具体内容如下 搭建nodejs服务器步骤: 1.安装nodejs服务(从官网下载安装) 2.在自己定义的目录下新建服务器文件如 server.js 例如,我在E:\PhpProject\html5\websocket下创建了server.js文件 var http = require('http');//引入http模块 //开启服务,监听8888端口 //端口号最好为6000以上 var server = http.cr

让谷歌浏览器Google Chrome支持eWebEditor的方法

[平台] 在线HTML编辑器:eWebEditor Version 2.8.0 最终版 网页浏览器:Google Chrome 37.0.2062.0 操作系统:windows7 专业版 Service Pack 1 [步骤] 在百度搜索"IE Tab"并进入国内站点下载这个插件,或者进入"http://www.chromeextensions.org/utilities/ie-tab/#.VIAgYaOW728"下载. 如果使用后一种方式,那么无法直接安装(下载和

http basic authentication通过post方式访问api示例分享 basic认证示例

复制代码 代码如下: private static String url = PropertiesLoader.getProperty("ALLYES_SERVER", false);    private static String username = PropertiesLoader.getProperty("ALLYES_USERNAME", false);    private static String password = PropertiesLoad

js如何调用qq互联api实现第三方登录

qq互联js SDK:http://wiki.connect.qq.com/js_sdk%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E 复制代码 代码如下: <script type=text/javascript> 在页面header中引入:<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js"

详解轻巧AMH虚拟主机面板安装使用和GCE云空间搭建网站实例

AMH,这是一个由国人开发的LNMP/Nginx 虚拟主机面板,看到部落一直在测试各种VPS控制面板,有不少的朋友给我留言说可以测试和分享一下AMH,理由是简洁,没有那么多的花俏功能,最适合个人用户使用. 本篇文章就来为大家带来利用AMH虚拟主机面板在VPS主机上搭建网站.绑定域名.创建和管理MysqL数据库,如果你喜欢AMH这种功能不多但足够简洁的风格,可以用AMH建立Wordpress博客.Discuz! 论坛社区. 由于前些天部落激活开通了GCE云服务器和了解到了,其实谷歌的GCE云服务器

Android指纹识别功能深入浅出分析到实战(6.0以下系统解决方案)

指纹识别这个名词听起来并不陌生,但是实际开发过程中用得并不多.Google从Android6.0(api23)开始才提供标准指纹识别支持,并对外提供指纹识别相关的接口.本文除了能适配6.0及以上系统,主要还提供6.0以下设备适配解决方案. 指纹识别用途 大概列举几个指纹识别的用途 系统解锁 应用锁 支付认证 普通的登录认证 指纹识别Google官方文档 官方标准库 Google提供的与指纹识别相关的核心类不多,主类是FingerprintManager,主类依赖三个内部类,如下图所示: Fing