2012-08-30 13 views
6

El archivo js del editor de ace minimizado del repositorio de github ace-builds (https://github.com/ajaxorg/ace-builds) es de 275KB. Este es un gran tamaño de archivo. Codemirror, un editor js del mismo calibre está muy por debajo de la marca de 100 KB.Ace Editor ace.js Tamaño del archivo

Parece que hay una manera de construir ace.js. ¿Hay alguna manera de hacer esto mientras se reduce drásticamente el tamaño del archivo?

+0

¿Cuántos marcadores de sintaxis está utilizando? – alex

+0

Solo CSS y HTML. Cada uno de los archivos para esos idiomas tiene solo unos 20 KB. Si está preguntando cuántos marcadores de sintaxis js diferentes, entonces solo uno: Ace Editor. – ambiguousmouse

Respuesta

-1

¿Por qué no simplemente usar CodeMirror? Es excelente en mi humilde opinión.

10

ace.js que es 294kb ya está construida y versión minificada, por lo que no hay forma de reducir esto drásticamente.

Hay dos razones para esta diferencia de tamaño

  1. as tiene más características construido en Así que para hacer la comparación justa que necesitaremos para eliminar estas características

    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 
    

    otros:. Cosas como, desplazamiento libre de jank mientras selecciona texto con el mouse, animación en la página Arriba/Abajo, seleccionando líneas de la canaleta, mejor alternarComment, smart gotoLineEnd, indentGuides etc. son más difíciles de usar emove, ya que no son módulos independientes.

    pero Codemirror admite fuentes de tamaño bidireccional y variable que compensa algunas de las restantes, así que permítanos detenerse en esto. El tamaño final de reducir la ECA (vamos a llamarlo as -. js) es 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 
    

    el tamaño que más importa es afear + postal que no es muy diferente

  2. La segunda razón es la codificación estilo, estilo Codemirrors es muy compacto

    • que utiliza muchos cierres (as casi nunca se utiliza cierres)
    • que contiene muy pocos usos de this(493 vs 4373 en ace--)
    • no utiliza módulos, todo está en un solo archivo, a diferencia de ACE que tiene 59 módulos
    • y tiene los nombres de variables mucho más cortos

Así que si necesita un editor muy pequeño, o no le gusta la forma en que ace funciona y desea volver a implementar la mayor parte, Codemirror es la mejor manera de hacerlo.

Pero si necesita un editor que esté a la par con los editores de escritorio sin agregar 300kb de su propio código, ace es una mejor opción en mi humilde opinión.

+0

Impresionante encuesta de estos poderosos editores de código html5. Ace es impresionante ... Gracias por esto –

Cuestiones relacionadas