| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import { defineConfig, transformWithEsbuild } from 'vite';
- import react from '@vitejs/plugin-react';
- import { splitVendorChunkPlugin } from 'vite'
- // https://vitejs.dev/config/
- export default defineConfig({
- plugins: [
- {
- name: 'treat-js-files-as-jsx',
- async transform(code, id) {
- if (!id.match(/src\/.*\.js$/)) return null
- // Use the exposed transform from vite, instead of directly
- // transforming with esbuild
- return transformWithEsbuild(code, id, {
- loader: 'jsx',
- jsx: 'automatic',
- })
- },
- },
- react(),
- splitVendorChunkPlugin()
- ],
- optimizeDeps: {
- force: true,
- esbuildOptions: {
- loader: {
- '.js': 'jsx',
- },
- },
- },
- build: {
- rollupOptions: {
- output: {
- manualChunks: {
- 'react-vendor': ['react', 'react-dom'],
- 'semi': ['@douyinfe/semi-ui'],
- 'icons': ['@douyinfe/semi-icons'],
- 'semantic': ['semantic-ui-react'],
- 'visactor': ['@visactor/react-vchart', '@visactor/vchart']
- },
- },
- },
- },
- server: {
- proxy: {
- '/api': {
- target: "http://localhost:3000",
- changeOrigin: true,
- }
- }
- }
- });
|