Bootstrap

node做中间层

node中间层(一般只处理查询类的请求)

解决的问题
  1. 转发
  2. api接口合并
  3. 缓存
// controller 实现缓存
var request = require('request');
var getIndex = require('../../model/index.js');
function index(req, res) {
  if (global.cache.index) {
    res.render('index.html', global.cache.index);
  } else {
    getIndex().then(function(data) {
      const { getAllclassify, getIndexpic } = data
      global.cache.index = { getAllclassify: getAllclassify.body, getIndexpic: getIndexpic.body };
      res.render('index.html', { getAllclassify: getAllclassify.body, getIndexpic: getIndexpic.body });
    }).catch((err) => {
      console.log(err);
    })
  }
}

module.exports = index;

// model 实现api接口转发、api接口合并
var request = require('request');
async function index() {
  var getAllclassify = await new Promise(function(resolve, reject) {
    request.get('http://localhost:3000/getAllclassify', function(err, reponse, request) {
      resolve(reponse)
    })
  });

  var getIndexpic = await new Promise(function(resolve, reject) {
    request.get('http://localhost:3000/getIndexpic', function(err, reponse, request) {
      resolve(reponse);
    })
  });
  return {
    getAllclassify: getAllclassify,
    getIndexpic: getIndexpic
  };
}


module.exports = index;
用到的框架组件
  1. node.js (依赖:fs、http.js 、express、koa、body-parser等)
;