При минификации js происходит путанница переменных
Есть код на JS:
success: function (data) {
if (data.isSuccessful) {
let result = JSON.parse(data.data);
localStorage.setItem("MAT", result.Tokens.AccessToken);
localStorage.setItem("MRT", result.Tokens.RefreshToken);
updateTokenTime(result.Tokens.GenerationTime);
let IV = _encoding.base64ToArray(result.IVBase64);
_crypto.genereateAesKeyByPassPhrase(password, 128)
.then(aesKey => {
userAesKey = aesKey;
console.log(aesKey);
return _crypto.decryptAes(aesKey, IV, result.EncryptedPrivateKey);
}, error => { reject(error); })
.then(privateKey => {
userPrivateKey = privateKey;
resolve();
}, error => { reject(error); });
} else {
reject(data.errorMessages);
}
}
Который минифицируется в следующий:
if (n.isSuccessful) {
...
r.genereateAesKeyByPassPhrase(t, 128).then(n=>c = n, console.log(n), ..., n=>{
f(n)
}
).then(n=>{
...
}
, n=>{
f(n)
}
)
} else
f(n.errorMessages)
}
И при минификации происходит переименовывания aesKey в n, которое выше имеет имя data в исходном коде. Из-за чего в последствие при обращении к aesKey я по сути получаю data, что подтверждает console.log(aesKey), который выводит значение переменной data. Как с этим бороться? Использую BundlerMinifier
Скрины отладки:
Другой минификатор тоже задает переменной такое же имя.


