1.0.0 • Published 3 years ago

@ztjy/mock-webpack-plugin v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

webpack-plugin生成mock数据

期望功能

1:支持多项目✔

2:多前缀配置✔(支持独立api、独立文件夹配置)

3:api做兜底✔

4:切换不同场景数据✔

5:支持本地合并生成的mock数据✔

设计原则

数据形式说明优先级禁用方式
local本地mock文件1{disableMock: true}
yapiyapi生成的mock数据2{disableMock: true}
serverapi的兜底3不传 proxy

考虑

1.mock数据生成方式
本地文件方式: {
  优点: 方便基于生成的mock修改
  缺点:1:本地文件需要维护
       2:第二次生成时会被覆盖
       3:本地合并生成的mock数据时还是需要生成一份express数据
}

express方式:{
  优点:不生成本地文件,
  缺点:不方便基于生成的mock修改(功能.5可优化)
}

综上所述:使用express方式
2.数据格式
new MockWebpackPlugin({
delay: 800,
mockLocalPath: './mock/index.js',
proxy: {
  '/dspManageServer': 'http://alpha-api-ad.szy.com/dspManageServer',
  '/Upload/imgFile': 'http://alpha-admin-ztjy.szy.com/Upload/imgFile',
},
yapiConfig: [{
  projectId: 633, // 关联的ypai项目id(必传)
  token:  '1f41d9e0f188ec7aaae786cd4663766f4d11fc8a65fbedf08af234234b3dbe90', // 关联的yapi项目token(必传)
  prefix: '/api/member', // 未被 prefixApi | prefixDir命中,则使用该前缀
  proxy: 'http://dev-api-ad.szy.net/dspBusinessServer',
},{
  projectId: 633, // 关联的ypai项目id(必传)
  token:  '1f41d9e0f188ec7aaae786cd4663766f4d11fc8a65fbedf08af234234b3dbe90', // 关联的yapi项目token(必传)
  prefix: '/api/member', // 未被 prefixApi | prefixDir命中,则使用该前缀
}]
})
参数说明类型默认
yapiConfigyapi配置yapiType
delay请求返回时长number1000
mockLocalPath本地已有mock文件入口string
proxy代理转发key: string
yapiType类型
参数说明类型必传
projectIdyapi项目idnumber
tokenyapi项目tokenstring
proxy兜底api-没有mock数据走proxystring
prefixapi访问前缀string
3.本地Mock合并
Mock({
// method   完整路径
  'POST /api/member/proxy/auth/registerr': {
    delay: 1200,
    disableMock: true, // 是否禁用mock
    mergeYapi: true, // 是否合并yapi生成的mock数据
    mock: 'a', // 手动mock数据  使用scenes ‘a’里的数据
    mocks: {
      'a': {
        res: {

        },
        mergeYapi: false, // 是否合并yapi生成的mock数据
      },
      'b': {
        res: {

        }
      },
    }
  },
})