-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.js
105 lines (104 loc) · 3.19 KB
/
vite.config.js
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import {fileURLToPath, URL} from "node:url";
import {defineConfig, loadEnv} from "vite";
import vue from "@vitejs/plugin-vue";
import Components from "unplugin-vue-components/vite";
import {VantResolver} from "unplugin-vue-components/resolvers";
import mkcert from "vite-plugin-mkcert";
import {viteObfuscateFile} from "vite-plugin-obfuscator";
export default ({mode}) =>
defineConfig({
plugins: [
vue(),
Components({
resolvers: [VantResolver()],
}),
mkcert(),
//加密混淆
viteObfuscateFile({
compact: true,
controlFlowFlattening: false,
controlFlowFlatteningThreshold: 0.75,
deadCodeInjection: false,
deadCodeInjectionThreshold: 0.4,
debugProtection: false,
debugProtectionInterval: 0,
disableConsoleOutput: false,
domainLock: [],
domainLockRedirectUrl: 'about:blank',
forceTransformStrings: [],
identifierNamesCache: null,
identifierNamesGenerator: 'hexadecimal',
identifiersDictionary: [],
identifiersPrefix: '',
ignoreImports: false,
inputFileName: '',
log: false,
numbersToExpressions: false,
optionsPreset: 'default',
renameGlobals: false,
renameProperties: false,
renamePropertiesMode: 'safe',
reservedNames: [],
reservedStrings: [],
seed: 0,
selfDefending: false,
simplify: true,
sourceMap: false,
sourceMapBaseUrl: '',
sourceMapFileName: '',
sourceMapMode: 'separate',
sourceMapSourcesMode: 'sources-content',
splitStrings: false,
splitStringsChunkLength: 10,
stringArray: true,
stringArrayCallsTransform: true,
stringArrayCallsTransformThreshold: 0.5,
stringArrayEncoding: [],
stringArrayIndexesType: [
'hexadecimal-number'
],
stringArrayIndexShift: true,
stringArrayRotate: true,
stringArrayShuffle: true,
stringArrayWrappersCount: 1,
stringArrayWrappersChainedCalls: true,
stringArrayWrappersParametersMaxCount: 2,
stringArrayWrappersType: 'variable',
stringArrayThreshold: 0.75,
target: 'browser',
transformObjectKeys: false,
unicodeEscapeSequence: false
})
],
server: {
https: false,
host: "0.0.0.0",
proxy: {
"/api": {
target: "https://api.ipify.org?format=json",
changeOrigin: true,
rewrite: path => path.replace(/^\/api/, ""),
},
"/DEV-USER": {
target: loadEnv(mode, process.cwd()).VITE_API_USER_PROXY,
changeOrigin: true,
rewrite: path => path.replace(/^\/DEV-USER/, ""),
},
"/DEV-DECLARE": {
target: loadEnv(mode, process.cwd()).VITE_API_DECLARE_PROXY,
changeOrigin: true,
rewrite: path => path.replace(/^\/DEV-DECLARE/, ""),
},
"/ws": {
target: 'https://apis.map.qq.com',
changeOrigin: true
},
},
},
define: {"process.env": {}},
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
},
},
});