From 1057f0136f77553acdaa9106cfc168f70a398706 Mon Sep 17 00:00:00 2001 From: guoapeng Date: Fri, 28 Feb 2025 14:18:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95commit1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app.vue | 7 +++-- vite.config.ts | 91 ++++++++++++++++++++++++++++++---------------------------- 2 files changed, 52 insertions(+), 46 deletions(-) diff --git a/src/app.vue b/src/app.vue index 14f99dd..7ed9219 100644 --- a/src/app.vue +++ b/src/app.vue @@ -1,5 +1,8 @@ \ No newline at end of file + diff --git a/vite.config.ts b/vite.config.ts index bf44cf8..446406f 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,69 +1,72 @@ -import {defineConfig} from "vite"; -import vue from "@vitejs/plugin-vue"; -import AutoImport from 'unplugin-auto-import/vite'; -import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'; -import viteCompression from 'vite-plugin-compression'; -import { resolve } from 'path'; +import { resolve } from 'node:path' +import vue from '@vitejs/plugin-vue' +import AutoImport from 'unplugin-auto-import/vite' +import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' +import { defineConfig } from 'vite' +import viteCompression from 'vite-plugin-compression' +import eslintPlugin from 'vite-plugin-eslint' -const Timestamp = new Date().getTime(); +const Timestamp = new Date().getTime() export default defineConfig({ - base: "./", - envPrefix:"FT_", + base: './', + envPrefix: 'FT_', build: { sourcemap: false, rollupOptions: { output: { manualChunks(id) { if (id.includes('node_modules')) { - return id.toString().split('node_modules/')[1].split('/')[0].toString(); + return id.toString().split('node_modules/')[1].split('/')[0].toString() } }, - chunkFileNames: chunkInfo => { + chunkFileNames: (chunkInfo) => { const facadeModuleId = chunkInfo.facadeModuleId - ? chunkInfo.facadeModuleId.split('/') - : []; - const fileName = facadeModuleId.slice(-2)[0] || '[name]'; - return `js/${fileName}/[name].[hash].${Timestamp}.js`; - } - } - } + ? chunkInfo.facadeModuleId.split('/') + : [] + const fileName = facadeModuleId.slice(-2)[0] || '[name]' + return `js/${fileName}/[name].[hash].${Timestamp}.js` + }, + }, + }, }, plugins: [ - vue(), + vue(), AutoImport({ imports: ['vue', 'vue-router', { - 'vue': ['withModifiers'] - }, - { - from: 'element-plus/es', - imports: ['TabPaneName'], - type: true, - },], + vue: ['withModifiers'], + }, { + from: 'element-plus/es', + imports: ['TabPaneName'], + type: true, + }], dts: true, eslintrc: { - enabled: true + enabled: true, }, - resolvers: [ElementPlusResolver({ importStyle: 'sass' })] + resolvers: [ElementPlusResolver({ importStyle: 'sass' })], + }), + eslintPlugin({ + cache: false, // 禁用缓存,以确保每次修改后都能及时生效 }), viteCompression({ verbose: true, disable: false, threshold: 10240, algorithm: 'gzip', - ext: '.gz' - }) + ext: '.gz', + }), ], resolve: { alias: { '@': resolve(__dirname, 'src'), - apis: resolve(__dirname, 'src/apis'), - assets: resolve(__dirname, 'src/assets'), - components: resolve(__dirname, 'src/components'), - hooks: resolve(__dirname, 'src/hooks'), - libs: resolve(__dirname, 'src/libs'), - store: resolve(__dirname, 'src/store'), - views: resolve(__dirname, 'src/views'), - } + 'apis': resolve(__dirname, 'src/apis'), + 'assets': resolve(__dirname, 'src/assets'), + 'components': resolve(__dirname, 'src/components'), + 'hooks': resolve(__dirname, 'src/hooks'), + 'libs': resolve(__dirname, 'src/libs'), + 'store': resolve(__dirname, 'src/store'), + 'views': resolve(__dirname, 'src/views'), + }, }, // 本地化配置 server: { @@ -75,9 +78,9 @@ export default defineConfig({ '/api': { target: 'http://localhost:8080', // secure: false, - changeOrigin: true, //是否跨域 - rewrite: path => path.replace(/^\/api/, 'api') - } - } - } -}); + changeOrigin: true, // 是否跨域 + rewrite: path => path.replace(/^\/api/, 'api'), + }, + }, + }, +})