瀏覽代碼

修改vite打包配置

lxh 1 年之前
父節點
當前提交
0c75779db9
共有 3 個文件被更改,包括 13 次插入0 次删除
  1. 10 0
      internal/vite-config/src/plugins/index.ts
  2. 1 0
      package.json
  3. 2 0
      vite.config.ts

+ 10 - 0
internal/vite-config/src/plugins/index.ts

@@ -9,6 +9,7 @@ import { configHtmlPlugin } from './html';
 import { configMockPlugin } from './mock';
 import { configMockPlugin } from './mock';
 import { configSvgIconsPlugin } from './svgSprite';
 import { configSvgIconsPlugin } from './svgSprite';
 import { configVisualizerConfig } from './visualizer';
 import { configVisualizerConfig } from './visualizer';
+import topLevelAwait from 'vite-plugin-top-level-await'
 
 
 interface Options {
 interface Options {
   isBuild: boolean;
   isBuild: boolean;
@@ -30,6 +31,15 @@ async function createPlugins({ isBuild, root, enableMock, compress, enableAnalyz
   // vite-plugin-svg-icons
   // vite-plugin-svg-icons
   vitePlugins.push(configSvgIconsPlugin({ isBuild }));
   vitePlugins.push(configSvgIconsPlugin({ isBuild }));
 
 
+  const topLevels= await topLevelAwait({
+    // The export name of top-level await promise for each chunk module
+    promiseExportName: '__tla',
+    // The function to generate import names of top-level await promise in each chunk module
+    promiseImportName: i => `__tla_${i}`
+  })
+
+  vitePlugins.push(topLevels);
+
   // vite-plugin-purge-icons
   // vite-plugin-purge-icons
   vitePlugins.push(purgeIcons());
   vitePlugins.push(purgeIcons());
 
 

+ 1 - 0
package.json

@@ -120,6 +120,7 @@
     "unbuild": "^1.2.1",
     "unbuild": "^1.2.1",
     "vite": "^4.4.0",
     "vite": "^4.4.0",
     "vite-plugin-mock": "^2.9.6",
     "vite-plugin-mock": "^2.9.6",
+    "vite-plugin-top-level-await": "^1.4.1",
     "vue-tsc": "^1.8.4"
     "vue-tsc": "^1.8.4"
   },
   },
   "packageManager": "pnpm@8.1.0",
   "packageManager": "pnpm@8.1.0",

+ 2 - 0
vite.config.ts

@@ -1,6 +1,8 @@
 import { defineApplicationConfig } from '@vben/vite-config';
 import { defineApplicationConfig } from '@vben/vite-config';
 
 
+
 export default defineApplicationConfig({
 export default defineApplicationConfig({
+ 
   overrides: {
   overrides: {
     optimizeDeps: {
     optimizeDeps: {
       include: [
       include: [