2012-08-30 9 views
6

Il file js minit editore asso dal repository github ace-builds (https://github.com/ajaxorg/ace-builds) è un enorme 275 KB. Questa è una dimensione di file enorme. Codemirror, un editor js dello stesso calibro è ben sotto il marchio di 100KB.Ace Editor ace.js Dimensioni file

Sembra che ci sia un modo per creare ace.js. C'è un modo per farlo riducendo drasticamente le dimensioni del file?

+0

Quanti evidenziatori di sintassi stai usando? – alex

+0

Solo CSS e HTML. Ciascuno dei file per queste lingue ha solo circa 20 KB. Se stai chiedendo quanti indicatori di evidenziazione js diversi, solo uno: Ace Editor. – ambiguousmouse

risposta

-1

Perché non utilizzare semplicemente CodeMirror? È eccellente IMHO.

10

ace.js che è 294kb è già costruito e versione minificata, quindi non c'è modo di ridurlo drasticamente.

ci sono due ragioni per questa differenza di dimensioni

  1. asso ha più funzioni costruito in modo da rendere equo confronto abbiamo bisogno di rimuovere queste caratteristiche

    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 
    

    altri:. Cose come, jank scrolling libero mentre si seleziona il testo con il mouse, animazione a pagina Su/Giù, selezionando le linee dalla grondaia, migliore toggleComment, smart gotoLineEnd, indentGuides ecc. sono più difficili da r emove, dal momento che non sono moduli autonomi.

    ma Codemirror supporta i caratteri bidirezionali e di dimensioni variabili che compensa alcuni dei rimanenti quindi si ferma su questo. dimensione finale di ace abbattuto (chiamiamolo ace -. 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 
    

    la dimensione che conta di più è uglify + Zip che non è molto diverso

  2. seconda ragione è codifica stile, lo stile è molto compatto Codemirrors

    • utilizza molte chiusure (asso quasi mai utilizza chiusure)
    • contiene pochissime usi di this(493 vs 4373 in ace--)
    • non usa moduli, tutto è in un unico file, a differenza asso che hanno 59 moduli
    • e ha i nomi delle variabili molto più brevi

Quindi se avete bisogno di un editor molto piccolo, o se non vi piace il modo in cui funziona ase e volete reimplementare la maggior parte di esso, Codemirror è il modo migliore per andare.

Ma se avete bisogno di un editor che sia alla pari con i desktop editor senza aggiungere 300kb di codice, l'asso è una scelta migliore.

+0

Sondaggio impressionante di questi potenti editor di codice html5. Ace è impressionante ... Grazie per questo –