-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvite.config.build.disperse.ts
59 lines (55 loc) · 1.48 KB
/
vite.config.build.disperse.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import path from 'path';
import config from './package.json';
import input from './src/packages/components.json';
import vueJsx from '@vitejs/plugin-vue-jsx';
console.log('\n====== 分批打包开始 ======\n');
const banner = `/*!
* ${config.name} v${config.version} ${new Date()}
* (c) 2021 @lui.
*/`;
const pathResolve = path.resolve;
export default defineConfig({
resolve: {
alias: [
{ find: '@', replacement: pathResolve(__dirname, './src') },
{ find: '@xl-ui', replacement: pathResolve(__dirname, './src') }
]
},
plugins: [vue(), vueJsx()],
build: {
minify: true,
outDir: './libs',
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true
}
},
lib: {
entry: '',
name: 'index',
// fileName: (format) => format,
formats: ['es']
},
rollupOptions: {
plugins: [resolve(), commonjs()],
// 请确保外部化那些你的库中不需要的依赖
external: ['vue', 'vue-router'],
input,
output: {
banner,
dir: path.resolve(__dirname, './libs/packages/_es'),
entryFileNames: '[name].js',
// 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
globals: {
vue: 'Vue'
}
}
},
emptyOutDir: false
}
});