前端超简单写mock(使用express)

文章展示了如何使用Express创建一个简单的Mock服务器,只需返回固定值,无需处理增删改操作。通过动态路由,将api文件夹下的JS文件自动映射为路由,例如axios.post(/hello-world/a)会返回a.js中的数据。此外,还提到了npm脚本用于启动mock服务,并配置了跨域支持。
摘要由CSDN通过智能技术生成

个人自己研究的mock写法,不需要做增删改,只需要返回值的情况,这样的写法可以极速实现mock

npm i -D express

index.js

const express = require('express');
const router = require('./router');
const app = express();

// 允许跨域
app.all('*', (req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Headers', 'Content-Type');
  res.header('Access-Control-Allow-Methods', '*');
  res.header('Content-Type', 'application/json;charset=utf-8');
  next();
});

app.use(router);

app.listen(80, () => {
  console.log('serve running at http://127.0.0.1');
});

把api文件夹下的所有js文件,注册路由

const express = require('express')
const router = express.Router()

function routerPost(url) {
  const pathArr = url.split('/')
  const lastPathName = pathArr[pathArr.length - 1]
  router.post(url, (req, res) => {
    res.send(require('./api/' + lastPathName))
  })
}
routerPost('/heloworld/a')
routerPost('/heloworld/b')
routerPost('/heloworld/c')
routerPost('/heloworld/d')
routerPost('/heloworld/e')
module.exports = router

api文件夹下的js,比如a.js

module.exports = {
  msg: "操作成功",
  code: 200,
  data: ["1", "2", "3", "4"],
}

则axios.post(‘/heloworld/a’)返回

{
  msg: "操作成功",
  code: 200,
  data: ["1", "2", "3", "4"],
}

package.json加入脚本,npm run mock后启动express

  "scripts": {
     ...
    "mock": "npx nodemon ./mock/src/index.js"
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值