Skip to content
Snippets Groups Projects
vite.config.mjs 2.54 KiB
Newer Older
  • Learn to ignore specific revisions
  • Matthias Feyll's avatar
    Matthias Feyll committed
    import react from '@vitejs/plugin-react';
    import { defineConfig } from 'vite';
    
    Matthias Feyll's avatar
    Matthias Feyll committed
    
    
    Matthias Feyll's avatar
    Matthias Feyll committed
    export default defineConfig({
    
    Matthias Feyll's avatar
    Matthias Feyll committed
        plugins: [react()],
    
    Matthias Feyll's avatar
    Matthias Feyll committed
            sourcemap: false,
    
            rollupOptions: {
                output: {
                    manualChunks: {
                        'required': [
                            'bootstrap', 'react-bootstrap',
                            'react', 'react-dom', 'react-router-dom',
                            'redux', '@reduxjs/toolkit', 'react-redux', 'redux-observable', 'redux-persist',
                            'i18next', 'react-i18next',
                            '@fortawesome/fontawesome-svg-core',
                            '@fortawesome/free-regular-svg-icons',
                            '@fortawesome/free-solid-svg-icons',
                            '@fortawesome/react-fontawesome'
                        ],
                        'lazy': [
                            'react-toastify'
                        ]
                    }
                }
            }
    
    Matthias Feyll's avatar
    Matthias Feyll committed
        // develop server
    
        server: {
    
    Matthias Feyll's avatar
    Matthias Feyll committed
            sourcemap: true,
            host: true,
    
            port: 3000,
            proxy: {
                '/api': {
    
    Matthias Feyll's avatar
    Matthias Feyll committed
                    target: 'http://clab-gosdn_csbi_arista_base-gosdn:8080',
    
                    changeOrigin: true,
                    secure: false,
                    rewrite: (path) => path.replace(/^\/api/, ''),
                    configure: (proxy, _options) => {
                        proxy.on('error', (err, _req, _res) => {
                            console.log('proxy error', err)
                        })
                        proxy.on('proxyReq', (proxyReq, req, _res) => {
    
                            console.log('Sending Request to the Target:', req.method, req.url)
    
                        })
                        proxy.on('proxyRes', (proxyRes, req, _res) => {
                            console.log(
                                'Received Response from the Target:',
                                proxyRes.statusCode,
                                req.url
                            )
                        })
                    },
                },
            },
        },
        resolve: {
            alias: {
    
    Matthias Feyll's avatar
    Matthias Feyll committed
                '@api': '/src/shared/api',
    
                '@reducer': '/src/stores/reducer',
    
    Matthias Feyll's avatar
    Matthias Feyll committed
                '@provider': '/src/shared/provider',
                '@layout': '/src/shared/layouts',
    
                '@hooks': '/src/hooks.ts',
    
    Matthias Feyll's avatar
    Matthias Feyll committed
                '@task': '/src/shared/tasks',
                '@helper': '/src/shared/helper',
    
                '@routes': '/src/routes.tsx',
    
    Matthias Feyll's avatar
    Matthias Feyll committed
                '@utils': '/src/shared/utils',
    
                '@shared': '/src/shared',
                '@component': '/src/components',
    
                '@build': '/build/',
    
    Matthias Feyll's avatar
    Matthias Feyll committed
            },
    
    Matthias Feyll's avatar
    Matthias Feyll committed
        },