gaoluyang
5 天以前 787ccc59ba89bacc075562a161ecf02bc76ebadc
vite.config.ts
@@ -1,23 +1,65 @@
import { defineConfig } from './internal/vite-config/src';
import { resolve } from "node:path";
import { defineConfig } from "./internal/vite-config/src";
export default defineConfig(async () => {
  return {
    application: {},
    vite: {
      resolve: {
        alias: {
          '@vue-office/pdf': resolve(__dirname, 'node_modules/@vue-office/pdf/lib/v3/vue-office-pdf.mjs'),
          '@vue-office/docx': resolve(__dirname, 'node_modules/@vue-office/docx/lib/v3/vue-office-docx.mjs'),
          '@vue-office/excel': resolve(__dirname, 'node_modules/@vue-office/excel/lib/v3/vue-office-excel.mjs'),
          '@vue-office/excel-css': resolve(__dirname, 'node_modules/@vue-office/excel/lib/v3/index.css'),
          '@vue-office/pptx': resolve(__dirname, 'node_modules/@vue-office/pptx/lib/v3/vue-office-pptx.mjs'),
        },
      },
      oxc: {
        enable: false,
      },
      optimizeDeps: {
        include: ["vue", "vue-router", "pinia", "ant-design-vue", "dayjs", "@vueuse/core", "axios", "@vue-office/pdf", "@vue-office/docx", "@vue-office/excel", "@vue-office/pptx"],
        exclude: ["dhtmlx-gantt", "tinymce", "bpmn-js", "bpmn-js-properties-panel", "video.js"],
      },
      build: {
        rollupOptions: {
          output: {
            manualChunks: id => {
              if (id.includes("node_modules")) {
                if (["vue", "vue-router", "pinia"].some(dep => id.includes(dep))) {
                  return "vendor-vue";
                }
                if (["ant-design-vue", "@vueuse/core"].some(dep => id.includes(dep))) {
                  return "vendor-ui";
                }
                if (["dayjs", "axios", "@vee-validate/zod", "zod"].some(dep => id.includes(dep))) {
                  return "vendor-utils";
                }
                if (["tinymce", "@tinymce/tinymce-vue", "@form-create/ant-design-vue"].some(dep => id.includes(dep))) {
                  return "vendor-editor";
                }
                if (["@vue-office"].some(dep => id.includes(dep))) {
                  return "vendor-office-preview";
                }
              }
            },
          },
        },
      },
      server: {
        allowedHosts: true,
        watch: {
          ignored: ["**/node_modules/**", "**/dist/**", "**/.git/**"],
        },
        proxy: {
          '/admin-api': {
          "/admin-api": {
            changeOrigin: true,
            rewrite: (path) => path.replace(/^\/admin-api/, ''),
            target: 'http://192.168.0.226:48080/admin-api',
            rewrite: path => path.replace(/^\/admin-api/, ""),
            target: "http://192.168.0.226:48080/admin-api",
            ws: true,
          },
        },
      },
    },
  };
});
});