簡體   English   中英

Google Closure Compiler ADVANCED_OPTIMIZATIONS - 排除所有函數名稱

[英]Google Closure Compiler ADVANCED_OPTIMIZATIONS - Exclude All function names

我正在使用Google的Closure Compiler來減小Java Script代碼的大小。 不幸的是,Closure Compiler還會在高級模式下更改所有函數名稱,而無需更改它。

我確實需要完全排除被定義為屬性的car.bla = function()例如car.bla = function() )。 這包括我使用的和本地代碼中根本沒有定義的那些,以及我自己定義的那些。

我知道有外部和導出(雖然我不完全理解它們)但我不想在代碼旁邊繼續維護任何額外的文件。

我也會發現排除任何函數(也是非屬性函數)。

谷歌搜索幾個小時后,我仍然沒有找到一個選項。

這里有幾個答案;

  1. 使用@export將屬性標記為“由外部源使用”,例如Angular綁定。
  2. 創建一個externs 如果您的代碼與代碼分開編譯,但需要進行交互,則會使用這些代碼。 看看Angular的外部是多么簡單。
  3. 將編譯級別降低到WHITESPACE_ONLY
  4. 根據您的設置,您可以傳遞--property_renaming=ALL_UNQUOTED並使用foo['bar']訪問foo.bar
  5. 根據您的設置,您可以通過--property_renaming=OFF

暫無
暫無

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

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