在Vue中mock假数据

在根目录中创建 mock 文件夹,在该文件夹下写 mock 数据,可以分模块书写,比如现在有两个模块的 mock 数据:

模块1(num.js):

module.exports = app => {
  app.get('/api/setNum', (req, res) => {
    res.send({
      code: 0,
      msg: 'ok',
      data: {
        num: 2
      }
    })
  })
}

模块2(news.js):

module.exports = app => {
  app.get('/api/news', (req, res) => {
    res.send({
      code: 0,
      msg: 'ok',
      data: [
        { id: 1000, title: '新闻1' },
        { id: 2000, title: '新闻2' },
        { id: 3000, title: '新闻3' }
      ]
    })
  })
}

在根目录下的 vue.config.js 文件中,将 mock 文件夹下的文件导入:

// vue提供给我们来对于已有的webpack配置进行增量修改
// 此文件的修改,一定要重启项目
const { defineConfig } = require('@vue/cli-service')
const path = require('path')
const fs = require('fs')

// 自动导入
const dirs = fs.readdirSync(path.resolve('mock'))
const mocks = dirs.map(dir => require(`./mock/${dir}`))

// 这种方案是手动导入,当有多个文件需要导入时,会很不方便
// const numFn = require('./mock/num')

module.exports = defineConfig({
  transpileDependencies: true,
  // 修改已有的devServer中的web服务器,从而用来模拟web请求,用来mock一些假数据
  devServer: {
    // vue中提供的web服务器,使用express框架,app对象它就是一express对象
    // 此方法就是一个中间件,它必须要return
    setupMiddlewares(mids, { app }) {
      // numFn(app)
      mocks.forEach(fn => fn(app))
      return mids
    }
  }
})

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值