2013-04-23 35 views
2

我想消除未使用或與給定上下文無關的函數。比方說,我們有:Javascript簡化器?

function a(){ console.log('this is an unrelated function'); } 
function b(){ console.log('world'); } 
function c(){ console.log('hello' + b()); } 
c(); 

現在a()完全不使用,我並不需要它,它只是使腳本更大。 jQuery也是這種情況。我不確定是否需要像jQuery那樣多的代碼。我使用的jQuery僅用於highcharts,並且通過id和class從dom中選擇了元素,但是它可以很好地去除未使用的函數,因爲jQuery只是太大了!

是否有在線工具,服務,功能/方法,可以做這種縮小的應用程序?

+5

雖然Google的Closure工具還不是很先進,但它可以進行大膽的縮小。另外,對於較小的jQuery,你可以查看Zepto.js – 2013-04-23 23:54:35

+1

谷歌的Closure編譯器服務的相關鏈接http://closure-compiler.appspot.com/home – 2013-04-24 00:09:04

+0

@jqueryrocks:高級縮小實際上可以做到這一點(如果設置正確) 。然而,我希望有一個「編譯器」做了這樣的事情,但並沒有刪除空白,更改名稱等。* *這將非常酷。 – 2013-04-24 03:23:43

回答

2

Google Closure Compiler是一個JavaScript優化器。它是一個有用的工具,可以與其他Google Closure Tools結合使用。

您可以使用關閉編譯如下:

  • 一個開源的Java,你可以在命令行中運行的應用程序。
  • 簡單的Web應用程序。
  • 一個RESTful API。

死代碼去除Google Closure Compiler

編譯與ADVANCED_OPTIMIZATIONS移除代碼,可證明是不可到達的。這在與大型圖書館結合時特別有用。如果只使用大型庫文件中的幾個函數,則編譯器可以從輸出中移除除這些函數之外的所有內容。

以上段落摘自Closure Compiler Docs reference

+1

可能我只是將這個URL添加到它的在線版本。 [Closure編譯器服務](http://closure-compiler.appspot.com/home) – Turnerj 2013-04-27 08:48:19