wanshenmean
2026-03-27 bf2aa9dd56432a74940ca1bb08fb4d7eaee37045
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue' 
import { fileURLToPath, URL } from 'node:url'
 
const __dirname = fileURLToPath(new URL('.', import.meta.url))
 
export default defineConfig({
  plugins: [vue()],
  
  server: {
    host: '0.0.0.0',
    port: 8080,
    open: false,
    hmr: {
      overlay: false
    }
  },
  build: {
    sourcemap: false,
    chunkSizeWarningLimit: 1200,
    rollupOptions: {
      output: {
        manualChunks(id) {
          if (id.includes('node_modules')) {
            if (id.includes('element-plus')) return 'vendor_element-plus';
            if (id.includes('echarts')) return 'vendor_echarts_lazy';
            if (id.includes('@microsoft') || id.includes('signalr')) return 'vendor_signalr';
            if (id.includes('wangeditor') || id.includes('wangEditor')) return 'vendor_wangeditor_lazy';
            if (id.includes('vue-draggable-next') || id.includes('sortablejs')) return 'vendor_drag';
            if (id.includes('vue')) return 'vendor_vue';
            return 'vendor_misc';
          }
        }
      }
    }
  },
  css: {
    devSourcemap: true,
    preprocessorOptions: {
      less: {}
    }
  },
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('src', import.meta.url))
    },
    extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json']
  }
})