javascript – Ace编辑器ace.js文件大小

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

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

解决方法

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

这种尺寸差异有两个原因

> 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,smart 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,它没有太大的不同
>第二个原因是编码风格,Codemirrors风格非常紧凑

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

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

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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...