From 6a668c2ec4156354a5242b664e1a70751719bbaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=B8=A3=E6=B3=89=28=E6=A1=82=E5=86=9B=29?= Date: Fri, 25 Apr 2025 16:03:46 +0800 Subject: [PATCH] perf: optimize the performance issues caused by style injection --- src/sites/mobile/main.tsx | 9 +++++++++ vite.config.demo.ts | 4 ++-- vite.config.mts | 4 ++-- vite.config.site.mts | 4 ++-- vite.config.site.taro.mts | 4 ++-- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/sites/mobile/main.tsx b/src/sites/mobile/main.tsx index 3618e62aba..148d98c441 100644 --- a/src/sites/mobile/main.tsx +++ b/src/sites/mobile/main.tsx @@ -5,6 +5,15 @@ import '@nutui/touch-emulator' // 适配 h5 示例桌面端预览 import { isMobile } from '@/sites/assets/util' import('../../packages/nutui.react.scss') +const projectID = import.meta.env.VITE_APP_PROJECT_ID || '' + +if (projectID) { + import(`@/styles/theme-${projectID}.scss`) + import(`@/styles/font-${projectID}/iconfont.css`) +} else { + import('@/styles/theme-default.scss') +} + const rootElement = document.querySelector('#app') let pathname = '' diff --git a/vite.config.demo.ts b/vite.config.demo.ts index 082776b4a8..b6f086fd8f 100644 --- a/vite.config.demo.ts +++ b/vite.config.demo.ts @@ -8,9 +8,9 @@ import config from './package.json' const projectID = process.env.VITE_APP_PROJECT_ID || '' -let fileStr = `@import "@/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";@import '@/styles/theme-default.scss';\n` +let fileStr = `@import "@/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";\n` if (projectID) { - fileStr = `@import '@/styles/variables-${projectID}.scss';\n@import "@/sites/assets/styles/variables.scss";\n@import '@/styles/font-${projectID}/iconfont.css';\n@import '@/styles/theme-${projectID}.scss';\n` + fileStr = `@import '@/styles/variables-${projectID}.scss';\n@import "@/sites/assets/styles/variables.scss";\n` } // https://vitejs.dev/config/ diff --git a/vite.config.mts b/vite.config.mts index 3e256cb6f9..9f68cd2fa2 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -9,9 +9,9 @@ import rehypeHighlight from 'rehype-highlight' const projectID = process.env.VITE_APP_PROJECT_ID || '' -let fileStr = `@import "@/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";@import '@/styles/theme-default.scss';\n` +let fileStr = `@import "@/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";\n` if (projectID) { - fileStr = `@import '@/styles/variables-${projectID}.scss';\n@import "@/sites/assets/styles/variables.scss";\n@import '@/styles/font-${projectID}/iconfont.css';\n@import '@/styles/theme-${projectID}.scss';\n` + fileStr = `@import '@/styles/variables-${projectID}.scss';\n@import "@/sites/assets/styles/variables.scss";\n` } // https://vitejs.dev/config/ diff --git a/vite.config.site.mts b/vite.config.site.mts index 22b367a462..04e44b3d2b 100644 --- a/vite.config.site.mts +++ b/vite.config.site.mts @@ -9,9 +9,9 @@ import config from './package.json' const projectID = process.env.VITE_APP_PROJECT_ID || '' -let fileStr = `@import "@/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";@import '@/styles/theme-default.scss';\n` +let fileStr = `@import "@/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";\n` if (projectID) { - fileStr = `@import '@/styles/variables-${projectID}.scss';\n@import "@/sites/assets/styles/variables.scss";\n@import '@/styles/font-${projectID}/iconfont.css';\n@import '@/styles/theme-${projectID}.scss';\n` + fileStr = `@import '@/styles/variables-${projectID}.scss';\n@import "@/sites/assets/styles/variables.scss";\n` } const refRandom = Math.random().toString(36).slice(-8) diff --git a/vite.config.site.taro.mts b/vite.config.site.taro.mts index 18f40b9dbd..a71883d721 100644 --- a/vite.config.site.taro.mts +++ b/vite.config.site.taro.mts @@ -9,9 +9,9 @@ import config from './package.json' const projectID = process.env.VITE_APP_PROJECT_ID || '' -let fileStr = `@import "@/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";@import '@/styles/theme-default.scss';\n` +let fileStr = `@import "@/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";\n` if (projectID) { - fileStr = `@import '@/styles/variables-${projectID}.scss';\n@import "@/sites/assets/styles/variables.scss";\n@import '@/styles/font-${projectID}/iconfont.css';\n@import '@/styles/theme-${projectID}.scss';\n` + fileStr = `@import '@/styles/variables-${projectID}.scss';\n@import "@/sites/assets/styles/variables.scss";\n` } const refRandom = Math.random().toString(36).slice(-8)