-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathvite.config.ts
More file actions
87 lines (81 loc) · 2.21 KB
/
vite.config.ts
File metadata and controls
87 lines (81 loc) · 2.21 KB
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import { defineConfig } from 'vite'
import { resolve } from 'path'
import dts from 'vite-plugin-dts'
export default defineConfig({
// 基本公共路径
base: './',
// 构建配置
build: {
lib: {
entry: resolve(__dirname, 'src/index.ts'), // 修改入口文件路径
name: 'liteofd',
formats: ['es', 'cjs'],
fileName: (format) => {
if (format === 'es') {
return 'index.mjs';
}
else {
return 'index.js';
}
}, // 修改输出文件名
},
outDir: 'dist', // 将输出目录改为 'dist'
assetsDir: 'assets', // 将静态资源目录设置为 'assets'
minify: 'terser', // 混淆器
terserOptions: {
compress: {
drop_console: true, // 去除 console
drop_debugger: true // 去除 debugger
}
},
rollupOptions: {
external: ['fast-xml-parser', 'js-md5', 'js-sha1', 'jsrsasign', 'jsrsasign-util', 'jszip', 'jszip-utils', 'sm-crypto', 'xmlbuilder2'],
output: {
globals: {
'fast-xml-parser': 'fastXmlParser',
'js-md5': 'md5',
'js-sha1': 'sha1',
'jsrsasign': 'jsrsasign',
'jsrsasign-util': 'jsrsasignUtil',
'jszip': 'JSZip',
'jszip-utils': 'JSZipUtils',
'sm-crypto': 'smCrypto',
'xmlbuilder2': 'xmlbuilder2'
},
assetFileNames: (assetInfo) => {
if (assetInfo.name && (assetInfo.name.endsWith('.ttf') || assetInfo.name.endsWith('.otf'))) {
return 'assets/fonts/[name][extname]';
}
return 'assets/[name]-[hash][extname]';
},
}
},
emptyOutDir: false
},
// 服务器选项
server: {
host: '0.0.0.0',
port: 3000,
open: true, // 自动打开浏览器
cors: true, // 允许跨域
},
// 解析选项
resolve: {
alias: {
'@': resolve(__dirname, 'src'), // 设置 @ 指向 src 目录
},
},
// 插件
plugins: [
dts({
rollupTypes: true,
insertTypesEntry: true,
outDir: 'dist',
// 添加以下配置
include: ['src/**/*.ts'],
exclude: ['src/**/*.spec.ts', 'src/**/*.test.ts'],
}),
// 这里可以添加 Vite 插件
],
publicDir: 'public'
})