zoukankan      html  css  js  c++  java
  • node 分层开发

    app.js

    var express = require('express');
    var app = express();
    app.use('/',require('./control'));
    app.use('/',require('./data'));
    app.use('/',require('./logic'));
    app.listen(8000);

    control.js

    /**
     权限层
    */
    var router = require('express').Router();

    router.get('/',function(req,res,next){
       var group = req.query.group;
       if(group){
          next();
       }else{
          next('无权访问!');
       }
    });
    module.exports = router;

    //如果这里的next(err)里面带有参数,则不会执行后面的路由

    db.js

    module.exports = {
       getUser(){

        //数据库数据

       },
       getNews(){
          //数据库数据
       }

    data.js


    /**
     数据层
     一般数据层不会直接和数据库挂钩,通常会由和数据库耦合的模块进行处理,然后传递数据
    */
    var router = require('express').Router();
    var dbs = require('./db');
    router.get('/',function(req,res,next){
     console.log('next的值:',next);
     res.locals.name = '老王';
     next();
    });
    router.get('/info',function(req,res,next){
       dbs.getUser(function(user){
          dbs.getNews(function(news){
             res.locals.user = user;
             res.locals.news = news;
          });
       });
    });
    module.exports = router;

    login.js

    /**
     业务层
    */
    var router = require('express').Router();

      router.get('/',function(req,res,next){
         var name = res.locals.name;
         var a = parseInt(req.query.a);
         var b = parseInt(req.query.b);
         res.send(name + (a+b));
      });
    module.exports = router;

  • 相关阅读:
    Python 42 mysql用户管理 、pymysql模块
    Python 41 多表查询 和 子查询
    Python 41 完整查询语句 和 一堆关键字
    Python 40 数据库-外键约束 、多对一与多对多的处理
    Python 40 数据库-约束
    Python 38 注册和修改密码
    eas之关于编码规则
    eas之界面之间传递参数
    eas之获取集合
    eas之单据删除代码
  • 原文地址:https://www.cnblogs.com/TomAndJerry/p/9043104.html
Copyright © 2011-2022 走看看