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;

最新文章

  1. iOS开发之CocoaLumberjack
  2. android 获取当前系统时间
  3. 控件 UI: StateTrigger
  4. macOS安装「oh my zsh」
  5. 关于JavaScript中apply与call的用法意义及区别(转)
  6. 大到可以小说的Y组合子(零)
  7. 二分图带权最大独立集 网络流解决 hdu 1569
  8. luci页面“save&apply”的实现分析
  9. Oracle Day2 过滤、排序、单行函数
  10. mysql笔记6之数据类型
  11. Dom编程(三)
  12. java_XML_SAX
  13. [2015-11-10]iis远程发布配置
  14. Jenkins +git +python 进行持续集成进行接口测试(接口测试jenkins持续集成篇)
  15. AWVS12 介绍和安装详解 -- For Windows10
  16. python模块(os,sys,hashlib,collections)
  17. Ubuntu16.04安装TensorFlow及Mnist训练
  18. 使用Websocket与服务器建立连接
  19. 将指定世界中的指定位置的Block转化为箱子
  20. java mail smtp port

热门文章

  1. IFrame安全问题解决办法(跨框架脚本(XFS)漏洞)
  2. tensorflow读取jpg格式图片报错 ValueError: Only know how to handle extensions: ['png']; with Pillow installed matplotlib can handle more images
  3. SVN:验证位置时发生错误解决方案
  4. oozie 完整流程实例
  5. Jupyter notebook远程访问linux服务器
  6. ubuntu误删home目录
  7. Codeforces Round #429
  8. caffe整体框架的学习的博客,这个博客山寨了一个caffe框架
  9. 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
  10. Docker 安装mysql8.0