diff --git a/package.json b/package.json
index 59ec8bc1..c3212bc7 100644
--- a/package.json
+++ b/package.json
@@ -9,11 +9,11 @@
   },
   "scripts": {
     "dev": "vite",
-    "build": "eslint src && vue-tsc --noEmit && vite build --mode production",
+    "build": "vue-tsc --noEmit && vite build --mode production",
     "preview": "vite preview",
-    "test": "eslint src && vue-tsc --noEmit && vite build --mode test",
-    "dev-build": "eslint src && vue-tsc --noEmit && vite build --mode development",
-    "report": "eslint src && vue-tsc --noEmit && vite build --mode report",
+    "test": "vue-tsc --noEmit && vite build --mode test",
+    "dev-build": "vue-tsc --noEmit && vite build --mode development",
+    "report": "vue-tsc --noEmit && vite build --mode report",
     "prepare": "husky install"
   },
   "lint-staged": {
@@ -52,7 +52,6 @@
     "@commitlint/cli": "^17.4.2",
     "@commitlint/config-conventional": "^17.4.2",
     "@intlify/unplugin-vue-i18n": "^0.12.1",
-    "@nabla/vite-plugin-eslint": "1.5.0",
     "@types/crypto-js": "^4.1.1",
     "@types/lodash-es": "^4.17.7",
     "@types/scrollreveal": "^0.0.8",
@@ -91,7 +90,7 @@
     "vite-plugin-imp": "^2.3.1",
     "vite-plugin-inspect": "^0.7.26",
     "vite-plugin-svg-icons": "^2.0.1",
-    "vite-svg-loader": "^3.4.0",
+    "vite-svg-loader": "^4.0.0",
     "vue-tsc": "^1.8.4"
   },
   "description": "<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->",
@@ -102,10 +101,10 @@
   },
   "keywords": [
     "ray-template",
-    "vue3.2模板",
     "vue3-tsx-vite-pinia",
     "ray template",
-    "Ray Template",
+    "vite",
+    "vue3",
     "admin template",
     "中后台模板"
   ],
diff --git a/src/App.tsx b/src/App.tsx
index 188763cc..6e9f5d60 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,23 +1,23 @@
 import { RouterView } from 'vue-router'
 import AppNaiveGlobalProvider from '@/app-components/provider/AppNaiveGlobalProvider/index'
 import AppStyleProvider from '@/app-components/provider/AppStyleProvider/index'
-import GlobalSpin from '@/spin/index'
-import LockScreen from '@/app-components/app/AppLockScreen/index'
+import AppLockScreen from '@/app-components/app/AppLockScreen/index'
+import AppGlobalSpin from '@/spin/index'
 
 const App = defineComponent({
   name: 'App',
   render() {
     return (
       <AppNaiveGlobalProvider>
-        <LockScreen />
+        <AppLockScreen />
         <AppStyleProvider />
 
-        <GlobalSpin>
+        <AppGlobalSpin>
           {{
             default: () => <RouterView />,
             description: () => 'lodaing...',
           }}
-        </GlobalSpin>
+        </AppGlobalSpin>
       </AppNaiveGlobalProvider>
     )
   },
diff --git a/src/layout/layoutResize.ts b/src/layout/layoutResize.ts
index 28f6216d..9dbfb344 100644
--- a/src/layout/layoutResize.ts
+++ b/src/layout/layoutResize.ts
@@ -31,6 +31,7 @@ export const layoutHeaderCssVars = (
       '--layout-content-height': `calc(100% - ${siderBar.height.value}px - ${menuTag.height.value}px - ${footer.height.value}px)`,
       '--layout-siderbar-height': `${siderBar.height.value}px`,
       '--layout-menutag-height': `${menuTag.height.value}px`,
+      '--layout-footer-height': `${footer.height.value}px`,
     }
   })
 }
diff --git a/src/router/helper/helper.ts b/src/router/helper/helper.ts
index 85479846..9fc8a91c 100644
--- a/src/router/helper/helper.ts
+++ b/src/router/helper/helper.ts
@@ -35,9 +35,12 @@ import type { AppRouteRecordRaw, RouteModules } from '@/router/type'
  * 会将 modules 中每一个 ts 文件当作一个路由模块, 即使你以分包的形式创建了路由模块
  */
 export const combineRawRouteModules = () => {
-  const modulesFiles: RouteModules = import.meta.glob('../modules/**/*.ts', {
-    eager: true,
-  })
+  const modulesFiles: RouteModules = import.meta.glob(
+    '@/router/modules/**/*.ts',
+    {
+      eager: true,
+    },
+  )
 
   const modules = Object.keys(modulesFiles).reduce((modules, modulePath) => {
     const route = modulesFiles[modulePath].default
diff --git a/vite.config.ts b/vite.config.ts
index d26d597c..e784623a 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -10,7 +10,6 @@ import viteVueJSX from '@vitejs/plugin-vue-jsx'
 import viteVeI18nPlugin from '@intlify/unplugin-vue-i18n/vite'
 import viteInspect from 'vite-plugin-inspect'
 import viteSvgLoader from 'vite-svg-loader'
-import viteEslintPlugin from '@nabla/vite-plugin-eslint'
 import vitePluginImp from 'vite-plugin-imp' // 按需打包工具
 import { visualizer } from 'rollup-plugin-visualizer' // 打包体积分析工具
 import viteCompression from 'vite-plugin-compression' // 压缩打包
@@ -108,21 +107,12 @@ export default defineConfig(async ({ mode }) => {
         defaultImport: 'component', // 默认以 `componetn` 形式导入 `svg`
       }),
       viteSVGIcon(),
-      // viteEslintPlugin({
-      //   formatter: 'stylish',
-      //   eslintOptions: {
-      //     cache: true,
-      //     fix: true,
-      //     extensions: ['.vue', '.tsx', '.ts', '.js', '.jsx'],
-      //   },
-      // }),
       viteEslint({
         lintOnStart: true,
         failOnError: true,
         failOnWarning: true,
-        cache: true,
         fix: true,
-        exclude: ['dist/**', '**/node_modules/**'],
+        exclude: ['dist/**', '**/node_modules/**', 'vite-env.d.ts', '*.md'],
         include: ['src/**/*.{vue,js,jsx,ts,tsx}'],
       }),
       vitePluginImp({