41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
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'
|
||
}
|
||
}
|
||
}
|
||
}
|
||
})
|