86 lines
2.6 KiB
TypeScript
86 lines
2.6 KiB
TypeScript
import { defineApplicationConfig } from '@vben/vite-config';
|
||
import { viteObfuscateFile } from 'vite-plugin-obfuscator';
|
||
|
||
export default defineApplicationConfig({
|
||
overrides: {
|
||
optimizeDeps: {
|
||
include: [
|
||
'echarts/core',
|
||
'echarts/charts',
|
||
'echarts/components',
|
||
'echarts/renderers',
|
||
'qrcode',
|
||
'@iconify/iconify',
|
||
'ant-design-vue/es/locale/zh_CN',
|
||
'ant-design-vue/es/locale/en_US',
|
||
'@/../lib/vform/designer.umd.js',
|
||
],
|
||
},
|
||
build: {
|
||
/* 其他build生产打包配置省略 */
|
||
//...
|
||
target: 'esnext',
|
||
// chunkSizeWarningLimit:1500,
|
||
commonjsOptions: {
|
||
include: /node_modules|lib/, //这里记得把lib目录加进来,否则生产打包会报错!!
|
||
},
|
||
},
|
||
server: {
|
||
proxy: {
|
||
'/basic-api': {
|
||
target: 'http://localhost:3000',
|
||
changeOrigin: true,
|
||
ws: true,
|
||
rewrite: (path) => path.replace(new RegExp(`^/basic-api`), ''),
|
||
// only https
|
||
// secure: false
|
||
},
|
||
'/upload': {
|
||
target: 'http://localhost:3300/upload',
|
||
changeOrigin: true,
|
||
ws: true,
|
||
rewrite: (path) => path.replace(new RegExp(`^/upload`), ''),
|
||
},
|
||
},
|
||
warmup: {
|
||
clientFiles: ['./index.html', './src/{views,components}/*'],
|
||
},
|
||
},
|
||
define: {
|
||
'process.env': {
|
||
BASE_URL: '/',
|
||
},
|
||
},
|
||
css: {
|
||
preprocessorOptions: {
|
||
less: {
|
||
javascriptEnabled: true,
|
||
},
|
||
},
|
||
},
|
||
plugins: [
|
||
viteObfuscateFile({
|
||
// 配置选项-混淆选项
|
||
compact: true, // 压缩代码
|
||
controlFlowFlattening: true, // 控制流扁平化
|
||
deadCodeInjection: true, // 死代码注入 会导致包体积变大
|
||
debugProtection: true, // 调试保护
|
||
debugProtectionInterval: 0, // 调试保护间隔
|
||
disableConsoleOutput: true, // 禁用控制台输出
|
||
identifierNamesGenerator: 'hexadecimal', // 标识符名称生成器
|
||
log: false, // 是否显示日志
|
||
numbersToExpressions: true, // 数字转换为表达式
|
||
renameGlobals: true, // 重命名全局变量
|
||
selfDefending: true, // 自我防御
|
||
simplify: true, // 简化代码
|
||
splitStrings: true, // 分割字符串
|
||
stringArray: true, // 字符串数组
|
||
stringArrayEncoding: ['rc4'], // 字符串数组编码
|
||
stringArrayThreshold: 0.75, // 字符串数组阈值
|
||
transformObjectKeys: true, // 转换对象键
|
||
unicodeEscapeSequence: true, // Unicode 转义序列
|
||
}),
|
||
],
|
||
},
|
||
});
|