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;

  • 相关阅读:
    推荐一款超好用的工具cmder
    golang初探与命令源码分析
    LAMP环境部署物联网项目
    linux上安装LAMP笔记
    scrapy实战--爬取最新美剧
    scrapy实战--爬取报刊名称及地址
    scrapy简单入门及选择器(xpathcss)
    phantomJs页面截图
    eclipse工具的安装配置
    BeautifulSoup爬虫基础知识
  • 原文地址:https://www.cnblogs.com/TomAndJerry/p/9043104.html
Copyright © 2011-2022 走看看