From 61900b1f71f4c9048cbc48ed6f4b41ccfa1a6ce4 Mon Sep 17 00:00:00 2001
From: yyg1378265336 <1378265336@qq.com>
Date: 星期三, 26 二月 2025 09:16:16 +0800
Subject: [PATCH] 工具属性、工具信息页面初次编写

---
 internal/vite-config/src/plugins/index.ts |   70 +++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 0 deletions(-)

diff --git a/internal/vite-config/src/plugins/index.ts b/internal/vite-config/src/plugins/index.ts
new file mode 100644
index 0000000..7b38c33
--- /dev/null
+++ b/internal/vite-config/src/plugins/index.ts
@@ -0,0 +1,70 @@
+/*
+ * @Description: file content
+ * @Author: Ben Lin
+ * @version: 
+ * @Date: 2024-06-18 21:50:22
+ * @LastEditors: Ben Lin
+ * @LastEditTime: 2024-06-18 23:44:19
+ */
+import vue from '@vitejs/plugin-vue';
+import vueJsx from '@vitejs/plugin-vue-jsx';
+import { type PluginOption } from 'vite';
+import purgeIcons from 'vite-plugin-purge-icons';
+import DevTools from 'vite-plugin-vue-devtools';
+
+import { createAppConfigPlugin } from './appConfig';
+import { configCompressPlugin } from './compress';
+import { configHtmlPlugin } from './html';
+import { configMockPlugin } from './mock';
+import { configSvgIconsPlugin } from './svgSprite';
+import { configVisualizerConfig } from './visualizer';
+
+interface Options {
+  isBuild: boolean;
+  root: string;
+  compress: string;
+  enableMock?: boolean;
+  enableAnalyze?: boolean;
+}
+
+async function createPlugins({ isBuild, root, enableMock, compress, enableAnalyze }: Options) {
+  const vitePlugins: (PluginOption | PluginOption[])[] = [vue(), vueJsx()];
+
+  const appConfigPlugin = await createAppConfigPlugin({ root, isBuild });
+  vitePlugins.push(appConfigPlugin);
+
+  // vitePlugins.push(DevTools());
+
+  // vite-plugin-html
+  vitePlugins.push(configHtmlPlugin({ isBuild }));
+
+  // vite-plugin-svg-icons
+  vitePlugins.push(configSvgIconsPlugin({ isBuild }));
+
+  // vite-plugin-purge-icons
+  vitePlugins.push(purgeIcons());
+
+  // The following plugins only work in the production environment
+  if (isBuild) {
+    // rollup-plugin-gzip
+    vitePlugins.push(
+      configCompressPlugin({
+        compress,
+      }),
+    );
+  }
+
+  // rollup-plugin-visualizer
+  if (enableAnalyze) {
+    vitePlugins.push(configVisualizerConfig());
+  }
+
+  // vite-plugin-mock
+  if (enableMock) {
+    vitePlugins.push(configMockPlugin({ isBuild }));
+  }
+
+  return vitePlugins;
+}
+
+export { createPlugins };

--
Gitblit v1.9.3