import {defineConfig} from 'vite' import vue from '@vitejs/plugin-vue' import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js' import {join} from 'path' const fse = require('fs-extra') const fs = require('fs') if (process.env.NODE_ENV !== 'development') { try { fs.rmdirSync('datahu', {recursive: true}) } catch (err) {} // fse.copySync('../component/src', 'datahu/component') fse.copySync('../component-base/src', 'datahu/component-base') // fse.copySync('../designer/src', 'datahu/designer') // fse.copySync('../client/src', 'datahu/client') } // https://vitejs.dev/config/ export default defineConfig({ resolve: { alias: process.env.NODE_ENV === 'development' ? [ { find: '@datahu/core', replacement: join(process.cwd(), '../core') + '/index.ts' }, { find: '@datahu/component-base', replacement: join(process.cwd(), '../component-base') + '/index.ts' } ] : [ { find: '@datahu/component-base', replacement: join(process.cwd(), 'datahu/component-base') + '/index.ts' } ] }, plugins: [vue(), cssInjectedByJsPlugin()], esbuild: { keepNames: true }, build: { assetsInlineLimit: 4096000, lib: { name: 'index', entry: 'index.ts', formats: ['es'] }, rollupOptions: { // 请确保外部化那些你的库中不需要的依赖 external: [ 'vue', '@datahu/core', '@datahu/component-base', 'ant-design-vue', 'vxe-table', 'xe-utils', 'vxe-table-plugin-export-xlsx', 'echarts', 'axios', 'add', 'moment' ] }, sourcemap: true } })