这是我参与8月更文挑战的第22天,活动详情查看:8月更文挑战
Markdown
之前提到了markdown组件由于使用了tui-editor库,yarn的时候导致bug,无法使用,就给删除了,之后需要用到的时候再想办法加上好了
JSON编辑器
效果看起来也挺好的,用了CodeMirrorr 也是引入就可以使用
但是功能有一些单一,只支持json,其实CodeMirrorr是支持多种语言的,所以尝试对项目里的组件进行一些修改,让它支持多种语言。
页面的vue文件在下面的路径下
组件在@/components/JsonEditor/index.vue中 我们用props接收一下传来的modes,modes是支持的语法高亮模式,
<json-editor ref="jsonEditor" :value="value" :modes="modes" />
modes: {
type: Array,
default: function() {
return []
}
}
首先需要引入具体的语法高亮库才会有对应的语法高亮效果,于是在原本的基础上,引入了一堆库
然后在初始化的时候,传modes参数,这样就支持切换别的语言了
切换语言的小功能,先简单写一个选择框,用来选择编辑器的语言
change方法是下面这样,修改编辑器语法配置,然后_getLanguage获取到修改后的语法
所以要看一下_getLanguage方法,比较传来的语法类型
然后可以看一下效果,原本是json编辑器,python的语法无效
然后切换成python语法,def关键字就被识别了
切换成java,public 关键字被识别到了
至此,json编辑器至此多语言完成了
参考了一些www.jianshu.com/p/b9d342264… 的内容,在这里表示感谢