mock-server-dev
v1.0.7
Published
mock-server 热更新。监听文件的变化,重启服务进程。一般会用在开发环境服务配置修改之后,重启服务使配置生效。
Downloads
7
Maintainers
Readme
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')