使用node作为中间服务层测试

511 阅读2分钟
1. 由于看过自己项目里面的项目,有好多数据展示,这些数据不是一个ajax请求回来的,而是由多个不同的请求回来的,这样造成的结果是,有可能我最下面的数据请求回来了,但是我的第一个还没请求回数据,造成一块是白屏。说实话这种要给用户视觉冲击,这特娘的和个花脸一样,你冲击个毛线啊。
2. 基于此自己产生了一个想法,就是为何不用node作为中间服务层,把这些复杂的页面使用node渲染完传给前端,所以自己看了看node和koa还有express便有了一个小小的架构
3. 老样子先把代码上来
"use strict"
let express = require("express");
let axios = require("axios");
let url = require("./apiServer.js");
let app = express();
console.log("12321");
try {
 let data;
 app.get("/api/getReportData", (req, res) => {
   console.log("123123");
   axios({
     method: "get",
     url: url.ccBaseUrl + "report/meta/ui/XXXXXXX?accessToken=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
     data: {},
   }).then((response) => {
     data = response.data;
     res.send(data);
     console.log(response.data);
   }).catch((err) => {
     console.log(err);
   })

 });
 app.listen(8989, () => {
   console.log("123211");
 })

} catch (e) {
 console.log(e)
}

一开始不成功找不到报错原因,所以在最外层加了try-catch捕获这些错误信息,由于自己chrome安装了adBlock,所以给阻拦了,然后报了一大堆错误。把这个关掉以后这个错误信息解决。然后node如何请求java接口,node既然是js的开发环境,那就可以使用任何的请求包,所以我这里使用的axios,前端中使用这个请求node接口就好了这是前端调node接口返回的数据

这是node调用java接口返回的数据

4. 这样node在前端和后端中就起作用了,你想要它为你干啥操作你自己定义,我的目的很简单就是要生成复杂的页面,避免加载问题。