2
0
Files
fe.wfc.user/vite.config.ts
2024-12-31 17:01:36 +08:00

66 lines
1.7 KiB
TypeScript

import process from 'node:process';
import { URL, fileURLToPath } from 'node:url';
import { defineConfig, loadEnv } from 'vite';
import { setupVitePlugins } from './build/plugins';
import { createViteProxy } from './build/config';
export default defineConfig(configEnv => {
const viteEnv = loadEnv(configEnv.mode, process.cwd()) as unknown as Env.ImportMeta;
return {
base: viteEnv.VITE_BASE_URL,
resolve: {
alias: {
'~': fileURLToPath(new URL('./', import.meta.url)),
'@': fileURLToPath(new URL('./src', import.meta.url))
}
},
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "./src/styles/scss/global.scss" as *;`
}
}
},
plugins: setupVitePlugins(viteEnv),
server: {
host: '0.0.0.0',
port: 8085,
open: false,
proxy: createViteProxy(viteEnv, configEnv.command === 'serve'),
fs: {
cachedChecks: false,
strict: false // 添加这个配置
}
},
preview: {
port: 9725
},
build: {
reportCompressedSize: false,
sourcemap: viteEnv.VITE_SOURCE_MAP === 'Y',
commonjsOptions: {
ignoreTryCatch: false
},
// 添加以下配置
rollupOptions: {
output: {
manualChunks: undefined, // 禁用代码分割
chunkFileNames: 'assets/js/[name]-[hash].js',
entryFileNames: 'assets/js/[name]-[hash].js',
assetFileNames: 'assets/[ext]/[name]-[hash].[ext]'
}
},
// 添加以下配置
chunkSizeWarningLimit: 2000,
minify: 'terser',
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true
}
}
}
};
});