Kaynağa Gözat

perf: 优化第一次进入加载速度

xingyu 2 yıl önce
ebeveyn
işleme
372de7a4d5

+ 2 - 0
yudao-ui-admin-vue3/.env.base

@@ -1,6 +1,8 @@
 # 本地开发环境
 NODE_ENV=development
 
+VITE_DEV=true
+
 # 请求路径
 VITE_BASE_URL='http://localhost:48080'
 

+ 2 - 0
yudao-ui-admin-vue3/.env.dev

@@ -1,6 +1,8 @@
 # 开发环境
 NODE_ENV=production
 
+VITE_DEV=false
+
 # 请求路径
 VITE_BASE_URL='http://localhost:48080'
 

+ 2 - 0
yudao-ui-admin-vue3/.env.pro

@@ -1,6 +1,8 @@
 # 生产环境
 NODE_ENV=production
 
+VITE_DEV=false
+
 # 请求路径
 VITE_BASE_URL='http://localhost:48080'
 

+ 2 - 0
yudao-ui-admin-vue3/.env.test

@@ -1,6 +1,8 @@
 # 测试环境
 NODE_ENV=production
 
+VITE_DEV=false
+
 # 请求路径
 VITE_BASE_URL='http://localhost:48080'
 

+ 7 - 0
yudao-ui-admin-vue3/src/main.ts

@@ -37,6 +37,13 @@ import App from './App.vue'
 
 import './permission'
 
+import { isDevMode } from '@/utils/env'
+
+if (isDevMode()) {
+  console.info(isDevMode())
+  import('element-plus/dist/index.css')
+}
+
 // 创建实例
 const setupAll = async () => {
   const app = createApp(App)

+ 6 - 0
yudao-ui-admin-vue3/src/types/auto-components.d.ts

@@ -21,6 +21,7 @@ declare module '@vue/runtime-core' {
     DictTag: typeof import('./../components/DictTag/src/DictTag.vue')['default']
     Echart: typeof import('./../components/Echart/src/Echart.vue')['default']
     Editor: typeof import('./../components/Editor/src/Editor.vue')['default']
+    ElAvatar: typeof import('element-plus/es')['ElAvatar']
     ElBadge: typeof import('element-plus/es')['ElBadge']
     ElButton: typeof import('element-plus/es')['ElButton']
     ElCard: typeof import('element-plus/es')['ElCard']
@@ -30,6 +31,7 @@ declare module '@vue/runtime-core' {
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
     ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
     ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem']
+    ElDialog: typeof import('element-plus/es')['ElDialog']
     ElDivider: typeof import('element-plus/es')['ElDivider']
     ElDrawer: typeof import('element-plus/es')['ElDrawer']
     ElDropdown: typeof import('element-plus/es')['ElDropdown']
@@ -38,6 +40,7 @@ declare module '@vue/runtime-core' {
     ElForm: typeof import('element-plus/es')['ElForm']
     ElFormItem: typeof import('element-plus/es')['ElFormItem']
     ElIcon: typeof import('element-plus/es')['ElIcon']
+    ElImage: typeof import('element-plus/es')['ElImage']
     ElImageViewer: typeof import('element-plus/es')['ElImageViewer']
     ElInput: typeof import('element-plus/es')['ElInput']
     ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
@@ -51,7 +54,10 @@ declare module '@vue/runtime-core' {
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
     ElSelect: typeof import('element-plus/es')['ElSelect']
     ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
+    ElSpace: typeof import('element-plus/es')['ElSpace']
     ElSwitch: typeof import('element-plus/es')['ElSwitch']
+    ElTable: typeof import('element-plus/es')['ElTable']
+    ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
     ElTabPane: typeof import('element-plus/es')['ElTabPane']
     ElTabs: typeof import('element-plus/es')['ElTabs']
     ElTag: typeof import('element-plus/es')['ElTag']

+ 8 - 0
yudao-ui-admin-vue3/src/utils/env.ts

@@ -0,0 +1,8 @@
+export const isDevMode = () => {
+  const dev = import.meta.env.VITE_DEV
+  if (dev && dev === true) {
+    return true
+  } else {
+    return false
+  }
+}

+ 2 - 1
yudao-ui-admin-vue3/src/views/infra/swagger/index.vue

@@ -5,5 +5,6 @@
 </template>
 <script setup lang="ts" name="Swagger">
 const BASE_URL = import.meta.env.VITE_BASE_URL
-const src = ref(BASE_URL + '/doc.html')
+// const src = ref(BASE_URL + '/doc.html')
+const src = ref(BASE_URL + '/swagger-ui')
 </script>

+ 1 - 0
yudao-ui-admin-vue3/types/env.d.ts

@@ -11,6 +11,7 @@ interface ImportMetaEnv {
   readonly VITE_APP_TITLE: string
   readonly VITE_PORT: number
   readonly VITE_OPEN: string
+  readonly VITE_DEV: boolean
   readonly VITE_ROUTE_ALWAYSSHOW_ENABLE: string
   readonly VITE_APP_CAPTCHA_ENABLE: string
   readonly VITE_APP_TENANT_ENABLE: string