Node实现简单的注册时后端的MVC模型架构
实现一个简单的注册界面后端MVC模型架构
第一步:在生成的express框架的app.js中添加一个路由,代码如下:var api = require('./routes/api'); app.use('/api', api);
第二步 :.在routes中新建一个api.js实例化路由,代码如下:var express = require('express');var router = express.Router();
const userController = require("../controller/user.js");router.post("/user/register",userController.register);module.exports = router;
第三步 :在这个路由中引用业务逻辑层(在根目录下新建一个controller文件夹,在建一个user.js作为逻辑层)。
其中代码如下:
const UserM = require("../model/user.js");//引用M层模块
const crypto = require('crypto');//引入密码编译模块
const reginster = (req,res) = >{
const {name,password} = req.body;
UserM.findOneUser({name},(reqult)=>{
if(result.length>0){
res.json({
ret:true,
data:false
})
}else{
const hash = crypto.createHash('sha256');
hash.update(password);
UserM.saveUser({
name,
password:hash.digest('hex')
},()=>{
res.json({
ret:true,
data:true
})
})
}
})
}
module.exports = {
register
}
因为在C层中引入了M层,所以需要先将M层模板创建出来
在根目录下建立一个model文件夹里边建一个user.js文件作为模型层,模型层代码如下:
const mongoose = require("../utils/database.js");//引入数据库链接
const User = mongoose.mode('user',{
name : String,
password:String
})
const saveUser = (userInfo,succCb) = >{
const user = new User(userInfo);
user.save().then(()=>{
succCb();
})
}
const findOneUser = (userInfo,succCb)=>{
User.find(userInfo).then((result)=>{
succCb(result);
})
}
module.exports = {
saveUser,
findOneUser
}
又因为在模型层使用了数据库链接,所以要引用自定义的数据库链接模块
数据库链接模块就是在根目录下建立一个utils文件夹,在此文件夹下建立database.js文件,
其中代码如下:
var mongoose =require('mongoose');//需要先下载mongoose第三方模块
mongoose.connect('mongodb://127.0.0.1:27017/job',{useMongoClient:true});
mongoose.Promise = global.Promise;
module.exports = mongoose;
今天有点累了,代码暂写这么多,日后再完善
Node实现简单的注册时后端的MVC模型架构的更多相关文章
- 如何简单区分Web前后端与MVC
MVC是开发所有软件所必须涉及的基本几个划分 M主要负责数据与模型,V主要负责显示C主要负责交互与业务所以不管是前端还是后端,都是有MVC的.MVC是一个对于软件简单的抽象,不管是M还是V,还是C都是 ...
- Node.js基于Express框架搭建一个简单的注册登录Web功能
这个小应用使用到了node.js bootstrap express 以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注 ...
- Node之简单的前后端交互
node是前端必学的一门技能,我们都知道node是用的js做后端,在学习node之前我们有必要明白node是如何实现前后端交互的. 这里写了一个简单的通过原生ajax与node实现的一个交互,刚刚学n ...
- Node.js的cluster模块——Web后端多进程服务
众所周知,Node.js是单线程的,一个单独的Node.js进程无法充分利用多核.Node.js从v0.6.0开始,新增cluster模块,让Node.js开发Web服务时,很方便的做到充分利用多核机 ...
- C#实现软件授权,限定MAC运行(软件license管理,简单软件注册机制)
一个绿色免安装软件,领导临时要求加个注册机制,不能让现场工程师随意复制.事出突然,只能在现场开发(离开现场软件就不受我们控了).花了不到两个小时实现了简单的注册机制,稍作整理. 基本原理:1.软件一运 ...
- C#软件license管理(简单软件注册机制)
最近做了一个绿色免安装软件,领导临时要求加个注册机制,不能让现场工程师随意复制.事出突然,只能在现场开发(离开现场软件就不受我们控了).花了不到两个小时实现了简单的注册机制,稍作整理. ...
- 「小程序JAVA实战」小程序注册与后端联调(35)
转自:https://idig8.com/2018/09/01/xiaochengxujavashizhanxiaochengxuzhuceyuhouduanliandiao35/ 小程序的后端spr ...
- 详细讲解:使用tp3.2.3完成简单的注册登录功能
使用3.2.3进行了一个简单不过的注册登录功能,界面介绍: 1.注册: 2.登录: 3.登录成功后: 没错,就是简单的让你特别容易上手,上面运用到的知识有: (1)自动验证.自动完成 (2)sessi ...
- 最简单的注册美区Apple ID方法
最简单方法注册苹果美区Apple ID 1.打开苹果官网链接 苹果官网 2. 点击右下角的 United States 3. 点击图片中的选项 4.点击右上角的选项创建新的Apple ID 注意是新的 ...
随机推荐
- [转]m3u8直播测试地址
http://www.cnblogs.com/yuandaozhe/p/5755453.html 调试m3u8的时候需要测试地址 找了几个,备用一下 安徽卫视 http://stream2.ahtv. ...
- Xshell调整终端显示的最大行数(缓冲区)
1 选择会话,按顺序点击文件->属性 ,打开"会话属性"窗口 如下 在"会话属性"窗口中选择“终端” 修改缓冲区大小的值:其范围为0~2147483647 ...
- 路飞学城Python-Day7
Moudle 2 1.鸡汤中国人均阅读4.35本:日本40本:韩国17本:法国20本:以色列60本成长的路上需要读书,坚持读书内心会得到升华的想法不要太多,尽量多读书,多充电多读书,多看报,少吃零食, ...
- confluence6.0.3安装文档
一.Atlassian Confluence 6.0.3安装文档包含内容 1.wiki的安装步骤: 2.旧系统迁移中碰到的无法编辑和问题和解决方案: 3.wiki源码安装包.连接mysql用的jar包 ...
- 计算a-b的差[返回BigDecimal 类型]
/*** * 返回 a-b 的差 [返回 BigDecimal 类型] * @param a 被减数 * @param b 减数 * @return */ public static BigDecim ...
- [android] 百度地图开发 (一).申请AK显示地图及解决显示空白网格问题
近期做android百度地图,可是使用baidumapapi_v2_3_1.jar和libBaiduMapSDK_v2_3_1.so显示百度地图时总是遇到问题--仅仅显示网格而没有显示地图,网 ...
- bzoj1050【HAOI2006】旅行comf
1050: [HAOI2006]旅行comf Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2205 Solved: 1174 [Submit][ ...
- [Servlet&JSP] HttpSession会话管理
我们能够将会话期间必须共享的资料保存在HttpSession中,使之成为属性.假设用户关掉浏览器接受Cookie的功能.HttpSession也能够改用URL重写的方式继续其会话管理功能. HttpS ...
- 转--配置linux下dircolors,ls命令和mac下iTerm2的颜色,让终端(iTerm2或Terminal)也色彩缤纷
http://blog.bbkanba.com/%E9%85%8D%E7%BD%AElinux%E4%B8%8Bdircolorsls%E5%91%BD%E4%BB%A4%E5%92%8Cmac%E4 ...
- 项目中log4j的使用
基于ssm项目: 1.导入log4j.slf4j相关jar包 commons-logging-1.1.3.jar.log4j-1.2.12.jar.slf4j-api-1.6.6.jar.slf4j- ...