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;

今天有点累了,代码暂写这么多,日后再完善

 

posted @ 2017-10-23 23:17  菜鸟乐谷  阅读(297)  评论(0编辑  收藏  举报