簡體   English   中英

防止函數名稱在縮小時被弄亂

[英]Prevent function name to get mangled while minification

我正在用gulp-uglify〜1.5.4進行javascript壓縮,在一個文件中有以下代碼: columns[j].colDef.cellRenderer.name === 'dateRenderer'cellRenderer是一個函數,因此cellRenderer.name將返回該函數的名稱。 因此,當函數為dateRenderer() ,該代碼應返回true ,這不會發生,因為在縮小之后,該函數被扭曲了。

我發現了這個線程: 使gulp-uglify不只處理一個變量,但我不想告訴uglify要處理哪些變量,而不是,沒有其他方法可以解決這個問題嗎? 像在AngularJS中一樣,我們使用$ inject服務。

如果您不想指定給uglifyjs,它應該從處理中跳過哪些函數名稱,請將該函數名稱存儲為字符串

 function dateRenderer() { // do something useful } dateRenderer.rendererName = 'dateRenderer' // later ... var fn = dateRenderer if (fn.rendererName === 'dateRenderer') { console.log('ok!') } 

...或在調用該特定函數后設置其名稱:

 function dateRenderer() { dateRenderer.rendererName = 'dateRenderer' // do something useful } // later ... var fn = dateRenderer // do something dateRenderer() if (fn.rendererName === 'dateRenderer') { console.log('ok!') } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM