繁体   English   中英

Ace Editor ace.js文件大小

[英]Ace Editor ace.js File Size

来自github ace-builds存储库( https://github.com/ajaxorg/ace-builds )的缩小的ace编辑器js文件高达275KB。 这是一个巨大的文件大小。 Codemirror ,一个相同口径的js编辑器,远低于100KB标记。

似乎有一种方法来构建ace.js. 有没有办法在大幅减少文件大小的同时做到这一点?

ace.js是294kb已经建立和缩小版本,所以没有办法大幅度减少这一点。

这种尺寸差异有两个原因

  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 

    其他:比如,在用鼠标选择文本时轻松自由滚动,在页面上选择动画上/下,从排水沟中选择线条,更好的toggleComment,智能gotoLineEnd,缩进指导等更难以删除,因为它们不是独立模块。

    但是Codemirror支持双向和可变大小的字体,这些字体可以补偿其余的一些,所以让我们停下来。 减少ace的最终大小(我们称之为ace - .js)是401kb

     file |size kb| zip |uglify|uglify+zip|uglify-mc|+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. 第二个原因是编码风格,Codemirrors风格非常紧凑

    • 它使用了许多闭包(ace几乎从不使用闭包)
    • 它含有很少使用this 493 VS 4373中ace--)
    • 不使用模块,一切都在一个文件中, 不像ace有59个模块
    • 它有更短的变量名称

因此,如果您需要一个非常小的编辑器,或者不喜欢ace工作的方式并希望重新实现其中的大部分,那么Codemirror是更好的方法。

但是如果你需要一个与桌面编辑器相媲美的编辑器而不添加300kb自己的代码,那么ace就是更好的选择。

为什么不简单地使用CodeMirror? 这是非常好的恕我直言。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM