a01bcf791b
- 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 应用
49 lines
1.1 KiB
TypeScript
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']
|
|
}
|
|
})
|