perf(mock): when mock is not used, move mock.js out of the package file

This commit is contained in:
vben
2021-01-22 22:42:27 +08:00
parent c889fb174b
commit 43503d5970
11 changed files with 50 additions and 56 deletions

View File

@@ -9,6 +9,7 @@ import { GLOB_CONFIG_FILE_NAME } from '../../constant';
export function configHtmlPlugin(env: ViteEnv, isBuild: boolean) {
const { VITE_GLOB_APP_TITLE, VITE_PUBLIC_PATH } = env;
const path = VITE_PUBLIC_PATH.endsWith('/') ? VITE_PUBLIC_PATH : `${VITE_PUBLIC_PATH}/`;
const htmlPlugin: Plugin[] = html({
minify: isBuild,
inject: {

View File

@@ -2,16 +2,15 @@ import type { Plugin } from 'vite';
import PurgeIcons from 'vite-plugin-purge-icons';
import visualizer from 'rollup-plugin-visualizer';
// @ts-ignore
import pkg from '../../../package.json';
import { ViteEnv, isReportMode } from '../../utils';
import { ViteEnv } from '../../utils';
import { configHtmlPlugin } from './html';
import { configPwaConfig } from './pwa';
import { configMockPlugin } from './mock';
import { configGzipPlugin } from './gzip';
import { configStyleImportConfig } from './style-import';
import { configStyleImportConfig } from './styleImport';
import { configVisualizerConfig } from './visualizer';
// gen vite plugins
export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean, mode: string) {
@@ -36,14 +35,7 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean, mode: stri
vitePlugins.push(configGzipPlugin(isBuild));
// rollup-plugin-visualizer
if (isReportMode()) {
vitePlugins.push(
visualizer({
filename: './build/.cache/stats.html',
open: true,
}) as Plugin
);
}
vitePlugins.push(configVisualizerConfig());
return vitePlugins;
}

View File

@@ -4,14 +4,21 @@ import { ViteEnv } from '../../utils';
export function configMockPlugin(env: ViteEnv, isBuild: boolean) {
const { VITE_USE_MOCK } = env;
const useMock = !isBuild && VITE_USE_MOCK;
const useLocalMock = !isBuild && VITE_USE_MOCK;
const useProdMock = isBuild && VITE_USE_MOCK;
if (useMock) {
if (useLocalMock || useProdMock) {
const mockPlugin = viteMockServe({
ignore: /^\_/,
mockPath: 'mock',
showTime: true,
localEnabled: useMock,
localEnabled: useLocalMock,
prodEnabled: useProdMock,
injectCode: `
import { setupProdMockServer } from '../mock/_createProductionServer';
setupProdMockServer();
`,
});
return mockPlugin;
}

View File

@@ -0,0 +1,12 @@
import visualizer from 'rollup-plugin-visualizer';
import { isReportMode } from '../../utils';
export function configVisualizerConfig() {
if (isReportMode()) {
return visualizer({
filename: './node_modules/.cache/visualizer/stats.html',
open: true,
}) as Plugin;
}
return [];
}