npm install vite-plugin-bundle-obfuscator -D
import vitePluginBundleObfuscator from 'vite-plugin-bundle-obfuscator';
// 优化版混淆配置
const obfuscatorConfig = {
enable: true,
log: true, // 显示处理日志
autoExcludeNodeModules: {
enable: true,
manualChunks: ['vue', 'vue-router'] // 显式排除核心库
},
threadPool: {
enable: true,
size: 4 // 根据CPU核心数调整
},
options: {
compact: true, // 删除所有空格换行
controlFlowFlattening: true,
controlFlowFlatteningThreshold: 0.75,
stringArray: true,
stringArrayThreshold: 0.75,
identifierNamesGenerator: 'hexadecimal',
selfDefending: true, // 防格式化保护
ignoreImports: true // 不混淆导入语句
}
};
export default defineConfig({
plugins: [
vue(),
vueJsx(),
viteMockServe({
mockPath: 'mock',
localEnabled: true
}),
vitePluginBundleObfuscator(obfuscatorConfig as any)
],
......
还算顺利,就是没细研究,目前够用
遇到的问题就是:
vitePluginBundleObfuscator(obfuscatorConfig as any)
obfuscatorConfig的ts类型校验一直过不了,干脆any