安装

  1. yarn add mockjs vite-plugin-mock --dev

编写 Mock 用例

  • mock\_util.ts:里面封装的是数据请求结构类型。
  • mock\_createProductionServer.ts:用于配置生产环境动态 Mock 的 js 文件,文档中有说。
  • 其他的:都是 Mock 用例。每一个jsts。都要默认导出一个MockMethod类型的数组。每一项MockMethod就是拦截的一个方法。MockMethodresponse对应方法的return将会被Mock实例处理。也就是说,你可以在return的对象中使用Mock 规则

配置 Mock

build\plugin\mock.ts

  1. /**
  2. * Mock plugin for development and production.
  3. * https://github.com/anncwb/vite-plugin-mock
  4. */
  5. import { viteMockServe } from 'vite-plugin-mock';
  6. export function configMockPlugin(isBuild: boolean) {
  7. return viteMockServe({
  8. // ↓忽略以_开头的文件
  9. ignore: /^\_/,
  10. // ↓解析根目录下的mock文件夹
  11. mockPath: 'mock',
  12. localEnabled: !isBuild,
  13. prodEnabled: isBuild,
  14. injectCode: `
  15. import { setupProdMockServer } from '../mock/_createProductionServer';
  16. setupProdMockServer();
  17. `,
  18. });
  19. }

配置进 Vite

build\plugin\index.ts

  1. // ...
  2. import { configMockPlugin } from './mock';
  3. export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean, pkg: any) {
  4. // ...
  5. // vite-plugin-mock
  6. VITE_USE_MOCK && vitePlugins.push(configMockPlugin(isBuild));
  7. return vitePlugins;
  8. }