2014-01-24 54 views
0

只是爲了簡化我正面臨的問題 我有一個xyz.js在生產使用之前被壓縮
現在我有一個在xyz.js裏面定義的頂級函數,裏面它的私人功能 前。
VAR foo1234 =函數(){ ... }javascript minification如何處理函數重命名聲明爲var

現在我用foo1234()在其他地方的同一個文件中。但是在縮小後foo1234()被重命名並且我的訪問foo()的代碼現在失敗了。我怎樣才能避免這種情況,仍然做適當的js壓縮?

任何幫助或標準做法,以避免這將是偉大的。

+3

你必須告訴縮小器不要重命名屬於你的庫的公共API的函數。我不知道你使用的是哪種微粉機,但應該有一個選項。 –

+0

您可以將所有文件連接在一起,然後縮小,如果'foo1234'是本地的,編譯器將從那裏處理它。如果你公開它,你應該做'window.foo1234' – megawac

回答

0

我會建議你使用現有的縮小器,比如谷歌的Closure Compiler。它執行JavaScript到JavaScript的優化和縮小。

正如你所發現的那樣,變量重命名並不是一件簡單的事情,而且最好的做法更難。您可以使用開源工具節省大量頭痛,同時還可以獲得其他優化優勢。