From 41854121f3713dbde236afd3a416e9f27bd0c673 Mon Sep 17 00:00:00 2001
From: 无木 <netfan@foxmail.com>
Date: 星期五, 04 六月 2021 16:08:41 +0800
Subject: [PATCH] fix(mock): menu list api loss `type` field

---
 vite.config.ts |   48 +++++++++++++++++++++++++-----------------------
 1 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/vite.config.ts b/vite.config.ts
index c05e9db..3b361d9 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -3,15 +3,24 @@
 import { loadEnv } from 'vite';
 import { resolve } from 'path';
 
-import { generateModifyVars } from './build/config/themeConfig';
+import { generateModifyVars } from './build/generate/generateModifyVars';
 import { createProxy } from './build/vite/proxy';
 import { wrapperEnv } from './build/utils';
 import { createVitePlugins } from './build/vite/plugin';
 import { OUTPUT_DIR } from './build/constant';
 
+import pkg from './package.json';
+import moment from 'moment';
+
 function pathResolve(dir: string) {
-  return resolve(__dirname, '.', dir);
+  return resolve(process.cwd(), '.', dir);
 }
+
+const { dependencies, devDependencies, name, version } = pkg;
+const __APP_INFO__ = {
+  pkg: { dependencies, devDependencies, name, version },
+  lastBuildTime: moment().format('YYYY-MM-DD HH:mm:ss'),
+};
 
 export default ({ command, mode }: ConfigEnv): UserConfig => {
   const root = process.cwd();
@@ -21,7 +30,7 @@
   // The boolean type read by loadEnv is a string. This function can be converted to boolean type
   const viteEnv = wrapperEnv(env);
 
-  const { VITE_PORT, VITE_PUBLIC_PATH, VITE_PROXY, VITE_DROP_CONSOLE, VITE_LEGACY } = viteEnv;
+  const { VITE_PORT, VITE_PUBLIC_PATH, VITE_PROXY, VITE_DROP_CONSOLE } = viteEnv;
 
   const isBuild = command === 'build';
 
@@ -31,31 +40,30 @@
     resolve: {
       alias: [
         {
-          // /@/xxxx  =>  src/xxx
-          find: /^\/@\//,
+          find: 'vue-i18n',
+          replacement: 'vue-i18n/dist/vue-i18n.cjs.js',
+        },
+        // /@/xxxx => src/xxxx
+        {
+          find: /\/@\//,
           replacement: pathResolve('src') + '/',
         },
+        // /#/xxxx => types/xxxx
         {
-          // /#/xxxx  =>  types/xxx
-          find: /^\/#\//,
+          find: /\/#\//,
           replacement: pathResolve('types') + '/',
         },
+        // ['@vue/compiler-sfc', '@vue/compiler-sfc/dist/compiler-sfc.esm-browser.js'],
       ],
     },
     server: {
       port: VITE_PORT,
       // Load proxy configuration from .env
       proxy: createProxy(VITE_PROXY),
-      hmr: {
-        overlay: true,
-      },
     },
-
     build: {
-      cssCodeSplit: false,
-      // minify: 'esbuild',
+      target: 'es2015',
       outDir: OUTPUT_DIR,
-      polyfillDynamicImport: VITE_LEGACY,
       terserOptions: {
         compress: {
           keep_infinity: true,
@@ -65,24 +73,18 @@
       },
       // Turning off brotliSize display can slightly reduce packaging time
       brotliSize: false,
-      chunkSizeWarningLimit: 1200,
+      chunkSizeWarningLimit: 2000,
     },
     define: {
       // setting vue-i18-next
       // Suppress warning
-      __VUE_I18N_LEGACY_API__: false,
-      __VUE_I18N_FULL_INSTALL__: false,
       __INTLIFY_PROD_DEVTOOLS__: false,
+      __APP_INFO__: JSON.stringify(__APP_INFO__),
     },
     css: {
       preprocessorOptions: {
         less: {
-          modifyVars: {
-            // Used for global import to avoid the need to import each style file separately
-            // reference:  Avoid repeated references
-            hack: `true; @import (reference) "${resolve('src/design/config.less')}";`,
-            ...generateModifyVars(),
-          },
+          modifyVars: generateModifyVars(),
           javascriptEnabled: true,
         },
       },

--
Gitblit v1.8.0