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;
最新文章
- iOS开发之CocoaLumberjack
- android 获取当前系统时间
- 控件 UI: StateTrigger
- macOS安装「oh my zsh」
- 关于JavaScript中apply与call的用法意义及区别(转)
- 大到可以小说的Y组合子(零)
- 二分图带权最大独立集 网络流解决 hdu 1569
- luci页面“save&;apply”的实现分析
- Oracle Day2 过滤、排序、单行函数
- mysql笔记6之数据类型
- Dom编程(三)
- java_XML_SAX
- [2015-11-10]iis远程发布配置
- Jenkins +git +python 进行持续集成进行接口测试(接口测试jenkins持续集成篇)
- AWVS12 介绍和安装详解 -- For Windows10
- python模块(os,sys,hashlib,collections)
- Ubuntu16.04安装TensorFlow及Mnist训练
- 使用Websocket与服务器建立连接
- 将指定世界中的指定位置的Block转化为箱子
- java mail smtp port
热门文章
- IFrame安全问题解决办法(跨框架脚本(XFS)漏洞)
- tensorflow读取jpg格式图片报错 ValueError: Only know how to handle extensions: ['png']; with Pillow installed matplotlib can handle more images
- SVN:验证位置时发生错误解决方案
- oozie 完整流程实例
- Jupyter notebook远程访问linux服务器
- ubuntu误删home目录
- Codeforces Round #429
- caffe整体框架的学习的博客,这个博客山寨了一个caffe框架
- 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
- Docker 安装mysql8.0