Javascript 防止UglifyJS更改函数参数';名字
在测试服务器上部署我的应用程序时,我遇到了一个错误,UglifyJS确实更改了npm依赖模块的函数参数,这些参数的名称很重要;有些函数是动态调用的,我使用它根据相应的名称将某些值映射到某些函数参数 是否可以告诉UglifyJS跳过某些模块或文件等?根据您可以使用的Javascript 防止UglifyJS更改函数参数';名字,javascript,meteor,uglifyjs,Javascript,Meteor,Uglifyjs,在测试服务器上部署我的应用程序时,我遇到了一个错误,UglifyJS确实更改了npm依赖模块的函数参数,这些参数的名称很重要;有些函数是动态调用的,我使用它根据相应的名称将某些值映射到某些函数参数 是否可以告诉UglifyJS跳过某些模块或文件等?根据您可以使用的mangle选项: mangle(默认值true)-传递false以跳过损坏名称,或传递对象以指定损坏选项 对象选项: 除外-传递应排除在损坏之外的标识符的数组 toplevel-在toplevel作用域中声明的名称(默认情况下禁
mangle
选项:
(默认值mangle
)-传递true
以跳过损坏名称,或传递对象以指定损坏选项false
-传递应排除在损坏之外的标识符的除外
数组
-在toplevel作用域中声明的名称(默认情况下禁用)toplevel
-在使用eval或with的作用域中,可以看到多个名称(默认情况下禁用)eval
——默认值保留\u fnames
。传递false
以避免损坏函数名。对于依赖Function.prototype.name的代码非常有用true
我试图找到一个选项来破坏函数名,跳过破坏参数,但到目前为止还没有找到乐趣(不是说没有…)
//tst.js
var globalVar;
function funcName(firstLongName, anotherLongName)
{
var myVariable = firstLongName + anotherLongName;
}
UglifyJS.minify("tst.js").code;
// 'function funcName(a,n){}var globalVar;'
UglifyJS.minify("tst.js", { mangle: { except: ['firstLongName'] } }).code;
// 'function funcName(firstLongName,a){}var globalVar;'
UglifyJS.minify("tst.js", { mangle: { toplevel: true } }).code;
// 'function n(n,a){}var a;'