6

github ace-builds リポジトリ ( https://github.com/ajaxorg/ace-builds ) からの縮小された ace エディター js ファイルは、なんと 275KB です。これは巨大なファイルサイズです。同じ口径の js エディタであるCodemirrorは、100KB を大幅に下回っています。

ace.js をビルドする方法があるようです。ファイルサイズを大幅に縮小しながらこれを行う方法はありますか?

4

2 に答える 2

14

294kb の ace.js は既にビルドされ、縮小されたバージョンであるため、これを大幅に削減する方法はありません。

このサイズの違いには2つの理由があります

  1. ace にはより多くの機能が組み込まれています。比較を公平にするために、これらの機能を削除する必要があります。

     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 の改善、スマートな gotoLineEnd、indentGuides などは、スタンドアロン モジュールではないため、削除するのが困難です。

    しかし、Codemirror は双方向フォントと可変サイズ フォントをサポートしており、残りのフォントの一部を補っています。切り詰められた ace (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
    

    最も重要なサイズは uglify+zip で、それほど違いはありません

  2. 2 つ目の理由はコーディング スタイルです。Codemirrors スタイルは非常にコンパクトです

    • 多くのクロージャーを使用します(ace はほとんどクロージャーを使用しません)。
    • ( vs in ace--)の使用はほとんどありません。this 4934373
    • モジュールを使用せず、 59 個のモジュールを持つ ace とは異なり、すべてが 1 つのファイルにあります。
    • 変数名がはるかに短い

したがって、非常に小さなエディターが必要な場合、または ace の動作が気に入らず、そのほとんどを再実装したい場合は、Codemirror を使用することをお勧めします。

しかし、300kb の独自のコードを追加せずにデスクトップ エディターと同等のエディターが必要な場合は、私見ではエースの方が適しています。

于 2013-05-25T14:01:06.733 に答える
0

単純に CodeMirror を使用しないのはなぜですか? それは素晴らしい私見です。

于 2013-05-24T18:27:46.137 に答える