2012-08-30 69 views
6

來自github ace-builds存儲庫(https://github.com/ajaxorg/ace-builds)的縮小ace編輯器js文件高達275KB。這是一個巨大的文件大小。 Codemirror,同一口徑的js編輯器遠低於100KB標記。Ace編輯器ace.js文件大小

似乎有一種方法可以構建ace.js.有沒有辦法做到這一點,同時大幅減少文件大小?

+0

您使用多少個語法熒光筆? – alex

+0

只需CSS和HTML。這些語言的每個文件只有大約20KB。如果你問多少個不同的js語法熒光筆,那麼只有一個:Ace編輯器。 – ambiguousmouse

回答

-1

爲什麼不簡單使用CodeMirror?這是很好的恕我直言。

10

這是294kb的ace.js已經建立和縮小版本,所以沒有辦法大幅度降低這個。

有兩個原因大小

  1. 王牌已建成更多的功能這種差異因此,爲了使比較公平的,我們將需要刪除這些功能

    not minified ace.js is . . . . 530kb 
    - multiselect . . . . . . . . . 484kb 
    - folding . . . . . . . . . . . 451kb 
    - bracketmatch, highlight selected 
        word, search, worker . . . . 429kb 
    - built in theme, unicode 
        support for selectWord . . . 401kb 
    

    人:事像在使用鼠標選擇文字時自由滾動, pageUp/Down上的動畫,從排水溝中選擇線, 更好的toggleComment,smart gotoLineEnd,indentGuides等。 很難r emove,因爲它們不是獨立的模塊。

    但Codemirror支持雙向和可變大小的字體 ,它補償了其餘的一些 因此讓我們停下來。削減王牌的最終大小(我們稱之爲王牌 - JS)是401KB

    file   |size kb| zip |uglify|uglify+zip|uglify-m-c|+zip  
    -------------|-------|------|------|----------|----------|----  
    ace.js  | 530 | 106 | 374 | 91.8  |292  |81.1 
    ace--.js  | 401 | 77.1 | 279 | 65.2  |216  |56.5 
    codemirror.js| 212 | 55.6 | 144 | 40.1  |100  |33.1 
    

    纔是最重要是醜化+拉鍊這是沒有太大的不同

  2. 第二個原因是編碼大小風格,Codemirrors風格十分緊湊

    • 它使用了許多倒閉的this(ACE幾乎從來沒有使用閉包)
    • 它含有非常少的用途493 VS在ace-- 4373
    • 不使用的模塊,一切都在一個文件中,不像王牌其中有59個模塊
    • ,它具有更短的變量名

所以如果你需要一個非常小的編輯器,或者不喜歡ace的工作方式,並且希望重新實現它的大部分,Codemirror是更好的選擇。

但是,如果你需要一個與桌面編輯器相同的編輯器,而不添加300kb的自己的代碼王牌是一個更好的選擇恕我直言。

+0

這些功能強大的html5代碼編輯器的真棒調查。 Ace令人印象深刻......感謝這一點 –