前端自己动手造后台,这样可以随时调试前端代码

遇到优秀的后台同事有时是一种可遇而不可求的事件,为了解决后台无法访问的问题,干脆自己使用Node.js写了个后台

大概的思路如下:

  1. 使用轻量级的Express框架
  2. 将路由层简单的分离出来
  3. Java后台正常时,将返回的数据保存为JSON格式,作为Express框架的数据源

    chrome浏览器->F12->network,选择某个请求(可能需要刷新页面),在右侧窗格中,在Response页签中,全选并复制,并粘贴至JSON文件中即可。

少废话,直接上代码

第一步,在Express框架的主文件app.js中写入 跨域 设置

app.all("*", function (req, res, next) {
  //设置允许跨域的域名,*代表允许任意域名跨域
  res.header("Access-Control-Allow-Origin", "*");
  //允许的header类型
  res.header("Access-Control-Allow-Headers", "content-type");
  //跨域允许的请求方式 
  res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
  if (req.method.toLowerCase() == 'options')
    res.send(200);  //让options尝试请求快速结束
  else
    next();
})

第二步, 路由映射

const testRouter= require(path.join(__dirname, "routers/myRouter"));
app.use("/a/b", testRouter);

第三步 ,路由层逻辑处理

const express = require('express')
const path = require('path')
const fs = require('fs')

// 创建路由对象
const testRouter= express.Router()

// get请求
testRouter.get('/someAction/:id', (req, res) => {
    console.log(req.params)
    const detail = path.join(__dirname, "../public/JSON/data.json");
        fs.readFile(detail, { encoding: 'UTF-8' }, (err, data) => {
            if (err) {
                console.error(err);
                return;
            };
            data = data.toString();
            res.writeHead(200,{
                "Content-Type":"application/json;charset=UTF-8"
            });
            res.end(data)
        })
})




// post请求
testRouter.post('/someAction/getGroupList', (req, res) => {
    const getGroupList = path.join(__dirname, "../public/JSON/data1.json");
        fs.readFile(getGroupList, { encoding: 'UTF-8' }, (err, data) => {
            if (err) {
                console.error(err);
                return;
            };
            data = data.toString();
            res.writeHead(200,{
                "Content-Type":"application/json;charset=UTF-8"
            });
            res.end(data)
        })
})



// 导出路由对象
module.exports = testRouter
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值