node 版本 12~16
"javascript-obfuscator": "^2.5.0", //版本保存一致
"webpack-obfuscator": "2.6"//版本保存一致
vueconfig.js //配置如下
var JavaScriptObfuscator = require("webpack-obfuscator");
function resolve(dir) {
return path.join(__dirname, dir)
}
configureWebpack: config => {
config.name = nameif (process.env.NODE_ENV === 'production') {return {plugins: [new JavaScriptObfuscator({// 打乱Unicode数组顺序rotateUnicodeArray: true,// 紧凑 从输出混淆代码中删除换行符。compact: true,/* 此选项极大地影响了运行速度降低1.5倍的性能。 启用代码控制流展平。控制流扁平化是源代码的结构转换,阻碍了程序理解。*/controlFlowFlattening: true,controlFlowFlatteningThreshold: 0.1,/* 此选项大大增加了混淆代码的大小(最多200%) 此功能将随机的死代码块(即:不会执行的代码)添加到混淆输出中,从而使得更难以进行反向工程设计。*/deadCodeInjection: true,deadCodeInjectionThreshold: 0.5,// 调试保护 如果您打开开发者工具,可以冻结您的浏览器。debugProtection: true,/* 如果选中,则会在“控制台”选项卡上使用间隔强制调试模式,这使得使用“开发人员工具”的其他功能变得更加困难。它是如何工作的?一个调用调试器的特殊代码;在整个混淆的源代码中反复插入。*/debugProtectionInterval: true,/* 通过用空函数替换它们来禁用console.log,console.info,console.error和console.warn。这使得调试器的使用更加困难。*/disableConsoleOutput: true,/* 锁定混淆的源代码,使其仅在特定域和/或子域上运行。这使得有人只需复制并粘贴源代码并在别处运行就变得非常困难。多个域和子域可以将代码锁定到多个域或子域。例如,要锁定它以使代码仅在www.example.com上运行添加www.example.com,以使其在example.com的任何子域上运行,请使用.example.com。*/domainLock: [],// 标识符的混淆方式 hexadecimal(十六进制) mangled(短标识符)identifierNamesGenerator: 'hexadecimal',// 此选项使所有全局标识符都具有特定前缀。identifiersPrefix: '',inputFileName: '',log: false,// 不要启动 通过声明启用全局变量和函数名称的混淆。renameGlobals: false,/* 禁用模糊处理和生成标识符,这些标识符与传递的RegExp模式匹配。例如,如果添加^ someName,则混淆器将确保以someName开头的所有变量,函数名和函数参数都不会被破坏。*/reservedNames: [],/* 禁用字符串文字的转换,字符串文字与传递的RegExp模式匹配。例如,如果添加^ some * string,则混淆器将确保以某些字符串开头的所有字符串都不会移动到`stringArray`。*/reservedStrings: [],/* 通过固定和随机(在代码混淆时生成)的位置移动数组。这使得将删除的字符串的顺序与其原始位置相匹配变得更加困难。如果原始源代码不小,建议使用此选项,因为辅助函数可以引起注意。*/rotateStringArray: true,/* 默认情况下(seed = 0),每次混淆代码时都会得到一个新结果(即:不同的变量名,插入stringArray的不同变量等)。如果需要可重复的结果,请将种子设置为特定的整数。*/seed: 0,
https://www.bilibili.com/read/cv38253682
https://www.bilibili.com/read/cv38253682
https://www.bilibili.com/read/cv38254586
https://www.bilibili.com/read/cv38254676
https://www.bilibili.com/read/cv38254800
https://www.bilibili.com/read/cv38254910
https://www.bilibili.com/read/cv38255110
https://www.bilibili.com/read/cv38255497
https://www.bilibili.com/read/cv38260942
https://www.bilibili.com/read/cv38261113
https://www.bilibili.com/read/cv38261207
https://www.bilibili.com/read/cv38261313
https://www.bilibili.com/read/cv38261592
https://www.bilibili.com/read/cv38261933
https://www.bilibili.com/read/cv38262110
https://www.bilibili.com/read/cv38262263
https://www.bilibili.com/read/cv38262429
https://www.bilibili.com/read/cv38262582
https://www.bilibili.com/read/cv38262803
https://www.bilibili.com/read/cv38262983
https://www.bilibili.com/read/cv38263171
https://www.bilibili.com/read/cv38263308
https://www.bilibili.com/read/cv38278083
https://www.bilibili.com/read/cv38278215
https://www.bilibili.com/read/cv38278405
https://www.bilibili.com/read/cv38278471
https://www.bilibili.com/read/cv38278559
https://www.bilibili.com/read/cv38278626
https://www.bilibili.com/read/cv38278734
https://www.bilibili.com/read/cv38278837
https://www.bilibili.com/read/cv38278927
https://www.bilibili.com/read/cv38279071
https://www.bilibili.com/read/cv38279249
https://www.bilibili.com/read/cv38279322
https://www.bilibili.com/read/cv38279397
https://www.bilibili.com/read/cv38279483
https://www.bilibili.com/read/cv38279560
https://www.bilibili.com/read/cv38279646
https://www.bilibili.com/read/cv38279728
https://www.bilibili.com/read/cv38279810
https://www.bilibili.com/read/cv38279922
https://www.bilibili.com/read/cv38280040
https://www.bilibili.com/read/cv38280198
https://www.bilibili.com/read/cv38280279
https://www.bilibili.com/read/cv38280380