首页 > 解决方案 > 构建 Vuejs 项目后是否可以识别角色?

问题描述

我有一个在Vuejs项目中导出一些函数的文件,我还需要在外部环境中使用它们..Component通过按名称识别并与 .JSON 文件进行比较,我知道应该使用哪个函数,这在环境中很有效但是当我构建项目时,development函数被重命名为图像中的:

插入图像描述

这些函数中是否有任何其他参考可以让我通过名称以外的方式识别它们?我不知道内存中有什么参考吗?谢谢!

标签: javascriptvue.jsecma

解决方案


您可以在每个函数的主体中定义一个唯一值,然后当您引用列表中的某个函数时,您可以调用toString()函数引用的方法来获取函数的源代码 - 然后检查是否代码中存在所需的唯一值。

像这样的东西:

const myFunc1 = function (...)
{
  const uniqueIdent = 'zvjbesvfexrxe3cg4g3ewumkaj2hrz9m';
  .....
}
const myFunc2 = function (...)
{
  const uniqueIdent = 'y4wxfjedrr3mh6k5ju2gcff6wxafjcz5';
  .....
}

// make the list of functions globally available
window.myFuncList = { myFunc1, myFunc2 };

// try to find the uglyfied name of Func2
var key;
var realNameFunc2;
for (key in window.myFuncList)
{
  if (window.myFuncList[key].toString().indexOf('y4wxfjedrr3mh6k5ju2gcff6wxafjcz5') !== -1)
  {
    realNameFunc2 = key;
    break;
  }
}

// you can now invoke your function as realNameFunc2(...)

推荐阅读