一、缘起
第一次知道codeMirror
是在一个开源项目中--vue-element-admin,这个项目让我受益匪浅,截至2019年4月18日,已有31259
star,它是我的vue.js启蒙老师,真心感谢项目的拥有者--花裤衩。
项目中的一个json编辑器的组件JsonEditor,里面引入了codeMirror
,也是在这个组件里,第一次知道这样在组件里引入一个js文件:
require('script-loader!jsonlint')
学习vue的同学一定不要错过这个项目。
二、说说 codeMirror
codeMirror
是个在浏览器直接运行的代码编辑器,能支持100多种语言,功能强大,以插件的形式组织代码。
1.好印象
- 功能强大
- 各语言基本都能找到支持项
- 文档齐全
- demo多,一例胜千言,这一点,跟
three.js
(一个WEBGL
库)的思路一致 - 不依赖任何其他库(比如
jQuery
)
2.“坏”印象
- 没有中文文档
- 英文文档不够细致,好多需要结合源代码猜,这个比较头疼
- 代码基本没有注释,阅读源码比较困难
- 创建一门新的编程语言除了复制其他语言的方法(我用的方法)外,另一种方法是:学习作者名下另一个开源项目grammar-mode,这个项目定义了一门“语言”(或者说是一套新的规则,定义了一种.grammar扩展名的文件),这个项目的只有一个
README.md
,除了命令行那部分,其他说明看不太懂;要想学通这门“语言”,需要结合作者的另一个项目作为参考google-modes...反正,学习成本有点高。
三、出发
接下来,我将记录我使用codeMirror
过程中遇到的坑和喜悦,我相信它能使我成长,go!