import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js' import { fileURLToPath, URL } from 'node:url' export default defineConfig({ plugins: [ vue(), // 这个很重要,要把css带到js文件里面,因为styles要留给全局样式的导出 cssInjectedByJsPlugin() ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), '~': fileURLToPath(new URL('./src', import.meta.url)) } }, build: { lib: { entry: fileURLToPath(new URL('./src/index.ts', import.meta.url)), name: 'knowaiUi', fileName: (format) => `knowai-ui.${format}.js` }, // 为了和类型文件以及sass文件在同一根目录下 outDir: 'dist/client', // 不让清空 emptyOutDir: false, cssCodeSplit: false, // 插件模式下可以关闭拆分 // vue时peer dependency rollupOptions: { external: ['vue'], output: { // 把external变量映射到内部全局 globals: { vue: 'Vue' } } } } })