Selaa lähdekoodia

fix: Cannot access 'Wl' before initialization

wuwenyi 2 viikkoa sitten
vanhempi
commit
84b9aa47fd
2 muutettua tiedostoa jossa 8 lisäystä ja 4 poistoa
  1. 2 0
      Dockerfile
  2. 6 4
      vite.config.ts

+ 2 - 0
Dockerfile

@@ -4,6 +4,8 @@ WORKDIR /app
 RUN npm config set registry https://registry.npmmirror.com
 COPY package*.json ./
 RUN --mount=type=cache,target=/root/.npm npm ci --legacy-peer-deps
+# BUILD_BUSTER 每次改值可破 Docker 缓存(COPY . . 之后会重新执行)
+ARG BUILD_BUSTER=1
 COPY . .
 RUN npx vite build
 

+ 6 - 4
vite.config.ts

@@ -8,7 +8,7 @@ export default defineConfig(({ mode }) => ({
   resolve: {
     alias: [
       { find: '@', replacement: resolve(__dirname, 'src') },
-      // logicflow module 字段指向 UMD bundle,Rollup 当 ESM 处理会 TDZ,精确匹配强制走 CJS
+      // 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' }
     ]
@@ -18,9 +18,11 @@ export default defineConfig(({ mode }) => ({
     chunkSizeWarningLimit: 1000,
     rollupOptions: {
       output: {
-        manualChunks: {
-          'element-plus': ['element-plus'],
-          'vue-vendor': ['vue', 'vue-router', 'pinia']
+        // 函数式分 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'
         }
       }
     }