Files
novalon-manage-system/novalon-manage-web/vite.config.ts
T
张翔 a01bcf791b feat(react19-migration): 阶段1 - 项目基础设施重建
- T1.1: 卸载 Vue 依赖,安装 React 19 + Ant Design 5 + Zustand 5 + AntV 全家桶
- T1.2: Vite 配置迁移 (plugin-vue → plugin-react, manualChunks 更新)
- T1.3: TypeScript 配置迁移 (jsx: preserve → react-jsx, 移除 .vue)
- T1.4: ESLint 配置迁移 (Vue 规则 → React/Hooks/Refresh 规则)
- T1.5: 入口文件迁移 (main.ts → main.tsx, App.vue → App.tsx, div#app → div#root)

验证: npm run dev 成功启动空白 React 应用
2026-05-03 15:14:24 +08:00

49 lines
1.1 KiB
TypeScript

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
'@': path.resolve(__dirname, 'src')
}
},
server: {
port: 3002,
host: '0.0.0.0',
strictPort: true,
proxy: {
'/api': {
target: process.env.VITE_API_TARGET || 'http://localhost:8080',
changeOrigin: true,
secure: false
}
},
hmr: { overlay: false },
cors: true
},
build: {
target: 'esnext',
minify: 'terser',
terserOptions: {
compress: { drop_console: true, drop_debugger: true }
},
rollupOptions: {
output: {
manualChunks: {
'react-vendor': ['react', 'react-dom', 'react-router'],
'antd': ['antd'],
'antv': ['@antv/g2', '@antv/g6', '@antv/l7', '@antv/s2'],
'utils': ['axios', 'date-fns']
}
}
},
chunkSizeWarningLimit: 1000,
reportCompressedSize: false
},
optimizeDeps: {
include: ['react', 'react-dom', 'react-router', 'zustand', 'antd', 'axios']
}
})