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;'
我試圖找到一個選項,裂傷的函數名,並跳過重整的爭論並沒有樂趣,到目前爲止(不是說沒有...)