mirror of
https://github.com/vbenjs/vue-vben-admin.git
synced 2025-08-27 14:13:40 +08:00
perf(mock): when mock is not used, move mock.js out of the package file
This commit is contained in:
@@ -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: {
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
12
build/vite/plugin/visualizer.ts
Normal file
12
build/vite/plugin/visualizer.ts
Normal 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 [];
|
||||
}
|
Reference in New Issue
Block a user