| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import react from '@vitejs/plugin-react';
- import { defineConfig, transformWithEsbuild } from 'vite';
- // https://vitejs.dev/config/
- export default defineConfig({
- plugins: [
- {
- name: 'treat-js-files-as-jsx',
- async transform(code, id) {
- if (!/src\/.*\.js$/.test(id)) {
- return null;
- }
- // Use the exposed transform from vite, instead of directly
- // transforming with esbuild
- return transformWithEsbuild(code, id, {
- loader: 'jsx',
- jsx: 'automatic',
- });
- },
- },
- react(),
- ],
- optimizeDeps: {
- force: true,
- esbuildOptions: {
- loader: {
- '.js': 'jsx',
- },
- },
- },
- build: {
- rollupOptions: {
- output: {
- manualChunks: {
- 'react-core': ['react', 'react-dom', 'react-router-dom'],
- 'semi-ui': ['@douyinfe/semi-icons', '@douyinfe/semi-ui'],
- semantic: ['semantic-ui-offline', 'semantic-ui-react'],
- visactor: ['@visactor/react-vchart', '@visactor/vchart'],
- tools: ['axios', 'history', 'marked'],
- 'react-components': [
- 'react-dropzone',
- 'react-fireworks',
- 'react-telegram-login',
- 'react-toastify',
- 'react-turnstile',
- ],
- },
- },
- },
- },
- server: {
- proxy: {
- '/api': {
- target: 'http://localhost:3000',
- changeOrigin: true,
- },
- },
- },
- });
|