0
在测试服务器上部署我的应用程序时,我遇到了一个错误,其中UglifyJS确实更改了npm依赖项模块的函数参数,其中这些参数的名称很重要;一些函数被动态地调用,并且我使用function-arguments来根据它们的相应名称将某些值映射到某些函数参数。防止UglifyJS更改函数参数的名称
是否可以告诉UglifyJS跳过某些模块或文件等?
在测试服务器上部署我的应用程序时,我遇到了一个错误,其中UglifyJS确实更改了npm依赖项模块的函数参数,其中这些参数的名称很重要;一些函数被动态地调用,并且我使用function-arguments来根据它们的相应名称将某些值映射到某些函数参数。防止UglifyJS更改函数参数的名称
是否可以告诉UglifyJS跳过某些模块或文件等?
按照documentation你可以使用mangle
选项为:
mangle
(默认true
) - 通过false
跳过重整名称,或传递一个对象到指定重整选项对象选项:
except
- 传递Array
应该从mangling中排除的标识符toplevel
- 在顶级作用域中声明的mangle名称(默认情况下禁用)。eval
- 在使用eval或with的作用域中可见的mangle名称(默认情况下禁用)。keep_fnames
- 默认false
。通过true
不要破坏函数名称。用于依赖于Function.prototype.name的代码。//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;'
我试图找到一个选项,裂伤的函数名,并跳过重整的争论并没有乐趣,到目前为止(不是说没有...)