| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import path from 'path';
- import { defineConfig, loadEnv } from 'vite';
- import react from '@vitejs/plugin-react';
- export default defineConfig(({ mode }) => {
- const env = loadEnv(mode, '.', '');
- return {
- server: {
- port: 3000,
- host: '0.0.0.0',
- },
- plugins: [react()],
- define: {
- 'process.env.API_KEY': JSON.stringify(env.GEMINI_API_KEY),
- 'process.env.GEMINI_API_KEY': JSON.stringify(env.GEMINI_API_KEY)
- },
- resolve: {
- alias: {
- '@': path.resolve(__dirname, '.'),
- }
- },
- build: {
- // 启用代码分割
- rollupOptions: {
- output: {
- manualChunks: {
- // 将第三方库打包到单独的chunk中
- 'react-vendor': ['react', 'react-dom', 'react-router-dom'],
- 'utils': ['axios', 'qs'],
- 'icons': ['lucide-react']
- }
- }
- },
- // 启用压缩
- minify: 'esbuild',
- // 生成source map (生产环境可选)
- sourcemap: false,
- // 启用CSS代码分割
- cssCodeSplit: true,
- // 启用图片优化
- assetsInlineLimit: 4096, // 小于4KB的资源内联
- // 调整chunk大小警告阈值
- chunkSizeWarningLimit: 1000
- }
- };
- });
|