【vue3】 + 【vite】 + 【vite-plugin-bundle-obfuscator】混淆打包---能用

49 阅读1分钟
npm install vite-plugin-bundle-obfuscator -D

blog.csdn.net/muyun2800/a…

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