mock-server-dev

1.0.7 • Public • Published

mock-server-dev

背景:为了提高前端开发效率,前端项目引入了mock数据,但是在修改mock数据的时候不能够实时更新。所以就把mock数据起独立服务,当监听到mock文件修改时,重启mock服务,应用更新。

项目做了哪些事情:初始化这个包的时候需要传如mock数据的绝对路径。项目会创建子进程,遍历传入目录的所有文件(目录结构会在下方展示)根据目录结构生成路由配置信息。主进程会监听传入目录的文件变化,重启子进程。默认端口为12345。

mock目录示例:

|__mock
|____xmkp-growth
| |____devops
| | |____imageMachineConfig.js
| | |____userContactId
| | | |____:usrContactId.js
|____xmkp-growth-ops
| |____ops
| | |____recommendCourse
| | | |____page.js
| | | |____pageTitle.js


最终生成的路由信息为:
/xmkp-growth/devops/imageMachineConfig
/xmkp-growth/devops/userContactId/1  # 不定参数
/xmkp-growth-ops/ops/recommendCourse/page
/xmkp-growth-ops/ops/recommendCourse/pageTitle

接口文件示例:

const { Random } = require('mockjs')

module.exports = {
  method: 'GET',
  mocker: (req, res) => {
    const usrContactId = Random.natural(1000000, 9999999)
    const userId = Random.natural(1000000, 9999999)
    const contactName = Random.cname()
    const contactPhone = Random.natural(17500000000, 17599999999)
    const email = Random.email()
    const province = Random.cword(3, 4)
    const city = Random.cword(3, 4)
    const area = Random.cword(3, 4)
    const areaCode = Random.string(6)
    const postCode = null
    const addressLine = Random.cword(10, 30)
    const defaultAddress = true
    const available = true
    const valid = true
    const createTime = 1624931892000
    const lastUpdateTime = 16126688103000

    return res.json({
      usrContactId,
      userId,
      contactName,
      contactPhone,
      email,
      province,
      city,
      area,
      areaCode,
      postCode,
      addressLine,
      defaultAddress,
      available,
      valid,
      createTime,
      lastUpdateTime,
    })
  },
}

使用说明:

const mockServer = require('mock-server-dev')
# 参数为mock服务目录
mockServer.startMockServer(__dirname + '/mock')

Package Sidebar

Install

npm i mock-server-dev

Weekly Downloads

0

Version

1.0.7

License

ISC

Unpacked Size

5.27 kB

Total Files

6

Last publish

Collaborators

  • _developerrrrrrrr