vben
2021-02-09 07c18d602ec47215c0390096a3fa66b40004d041
build/vite/plugin/mock.ts
@@ -1,26 +1,20 @@
/**
 * Mock plugin for development and production.
 * https://github.com/anncwb/vite-plugin-mock
 */
import { viteMockServe } from 'vite-plugin-mock';
import { ViteEnv } from '../../utils';
export function configMockPlugin(env: ViteEnv, isBuild: boolean) {
  const { VITE_USE_MOCK } = env;
  const useLocalMock = !isBuild && VITE_USE_MOCK;
  const useProdMock = isBuild && VITE_USE_MOCK;
  if (useLocalMock || useProdMock) {
    const mockPlugin = viteMockServe({
      ignore: /^\_/,
      mockPath: 'mock',
      showTime: true,
      localEnabled: useLocalMock,
      prodEnabled: useProdMock,
      injectCode: `
export function configMockPlugin(isBuild: boolean) {
  return viteMockServe({
    ignore: /^\_/,
    mockPath: 'mock',
    showTime: true,
    localEnabled: !isBuild,
    prodEnabled: isBuild,
    injectCode: `
      import { setupProdMockServer } from '../mock/_createProductionServer';
      setupProdMockServer();
      `,
    });
    return mockPlugin;
  }
  return [];
  });
}