| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { defineConfig } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import { resolve } from 'path'
- export default defineConfig(({ mode }) => ({
- base: '/',
- plugins: [vue()],
- resolve: {
- alias: [
- { find: '@', replacement: resolve(__dirname, 'src') },
- // logicflow 仅提供 UMD bundle,Rollup 当 ESM 处理会 TDZ,强制走 CJS 入口
- { find: /^@logicflow\/core$/, replacement: '@logicflow/core/dist/entry.js' },
- { find: /^@logicflow\/extension$/, replacement: '@logicflow/extension/cjs/index.js' }
- ]
- },
- build: {
- sourcemap: mode !== 'production',
- chunkSizeWarningLimit: 1000,
- rollupOptions: {
- output: {
- // 函数式分 chunk:将 logicflow 所有模块锁在一个 chunk 内,避免跨 chunk 循环引用
- manualChunks(id) {
- if (id.includes('@logicflow')) return 'logicflow'
- if (id.includes('element-plus')) return 'element-plus'
- if (id.includes('vue') || id.includes('vue-router') || id.includes('pinia')) return 'vue-vendor'
- }
- }
- }
- },
- server: {
- port: 3000,
- proxy: {
- '/api': {
- target: 'http://localhost:8080',
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/api/, '')
- },
- '/uploads': {
- target: 'http://localhost:8080',
- changeOrigin: true
- },
- '/analysis': {
- target: 'http://localhost:8080',
- changeOrigin: true
- }
- }
- }
- }))
|