当前位置: 首页 > news >正文

上海网络平台网站建设太原网站制作网页

上海网络平台网站建设,太原网站制作网页,网站架构的建设,大庆seo推广vue 使用代码编辑器插件 vue-codemirror 之前用过一次,当时用的一知半解的,所以也没有成文,前几天又因为项目有需求,所以说有用了一次,当然,依旧是一知半解,但是还是稍微写一下子吧!…

vue 使用代码编辑器插件 vue-codemirror

之前用过一次,当时用的一知半解的,所以也没有成文,前几天又因为项目有需求,所以说有用了一次,当然,依旧是一知半解,但是还是稍微写一下子吧!万一以后用到,不用满网找资料了,个人学习记录,仅供参考,切勿尽信!

vue-codemirror 说明

首先我的项目是 vue2 版本的,vue codemirror v5/v6已经发布。这是一个基于以下内容的新版本CodeMirror@6并且仅对Vue3可用。自从CodeMirror@6新版本将不再支持直接浏览器引用UMD模块。简而言之,新版本是与之前的版本完全不兼容。如果您希望继续使用Vue2或更低版本的CodeMirror。

任意门

vue-codemirror Github 地址: https://github.com/surmon-china/vue-codemirror
codemirror 中文文档:https://olindk.gitbooks.io/codemirror/content/configuration.html
codemirror 英文文档:https://codemirror.net/doc/manual.html#config

vue-codemirror 安装

因为最新版本已经不支持 vue2 了,所以我不能安装最细版本的,只能指定支持 vue2 版本的插件,因此,安装下面两个插件,必须两个都安装哈,不能只安装一个嗷!

npm i vue-codemirror@4.x --savenpm i codemirror@5.x --save 

vue-codemirror 使用

具体根据上面提供的官方文档去看哈,我这就不展开说了,我就简单贴一下我的代码哈;

首先在需要代码编辑器的组件里面引入插件:

import { codemirror } from 'vue-codemirror'components: {codemirror
},

然后在 HTML 部分使用一下:

<codemirror v-model="code" @ready="onCmReady" :style="codemirrorStyle" :options="cmOptions"></codemirror>

其中 v-model 就是你要绑定编辑的代码;@ready 绑定了一个函数,目的是在完成之后添加一个事件,用来代码提示用;style 绑定的是这个编辑器的样式,比如字体样式、字体大小之类的;options 很重要,是对编辑器的配置信息;

再一个就是引入一下必要的文件,我用到了这一些,一些样式,代码校验啥的:

import 'codemirror/lib/codemirror.css'
import 'codemirror/addon/lint/lint'
import 'codemirror/addon/lint/lint.css'
import 'codemirror/addon/lint/json-lint'
import 'codemirror/addon/lint/javascript-lint'
import 'codemirror/mode/javascript/javascript.js'
import 'codemirror/theme/base16-dark.css'
import 'codemirror/addon/fold/foldgutter.css'
import 'codemirror/addon/fold/foldcode'
import 'codemirror/addon/fold/foldgutter'
import 'codemirror/addon/fold/brace-fold'
import 'codemirror/addon/fold/comment-fold'
import 'codemirror/addon/fold/markdown-fold'
import 'codemirror/addon/fold/xml-fold'
import 'codemirror/addon/fold/indent-fold'
import 'codemirror/addon/hint/show-hint.css'
import 'codemirror/addon/hint/show-hint.js'
import 'codemirror/addon/hint/javascript-hint'
import 'codemirror/addon/hint/xml-hint'
import 'codemirror/addon/hint/sql-hint'
import 'codemirror/addon/hint/anyword-hint'
import 'codemirror/addon/search/match-highlighter'
import 'codemirror/addon/edit/matchbrackets'
import 'codemirror/addon/edit/closebrackets'
import 'codemirror/mode/css/css.js'
import 'codemirror/mode/vue/vue.js'

然后再 data 里面创建一下必要参数:

	  code: '',cmOptions: {mode: 'text/javascript',gutters: ['CodeMirror-lint-markers', 'CodeMirror-linenumbers', 'CodeMirror-foldgutter'],lineNumbers: true,line: true,lint: true,lineWrapping: true,autofocus: true,autoCloseBrackets: true,foldGutter: true, // 块槽hintOptions: { completeSingle: true },matchTags: { bothTags: true },matchBrackets: true,showCursorWhenSelecting: true,styleSelectedText: true,styleActiveLine: true,autoRefresh: true,highlightSelectionMatches: {minChars: 2,trim: true,style: "matchhighlight",showToken: false},},codemirrorStyle: {fontSize: '18px',lineHeight: '150%',height: '450px',border: '1px solid #EBEEF5'}

其中在 option 绑定数据里面的 mode: 'text/javascript', 表示当前编辑器,解析的是 JavaScript 代码,这个很重要。

然后就是代码校验需要使用几个包,可能需要单独安装一下:

# 校验json相关
npm install jsonlint file system# 校验js相关
npm install jshint

安装完成之后呢,把他们引入并且挂载 window 上面就行,他会自己找到使用:

import jsonlint from 'jsonlint'
import { JSHINT } from 'jshint'window.JSHINT = JSHINT
window.jsonlint = jsonlint

最后就是代码提示,比如 js 的代码提示是吧!

    onCmReady(cm) {cm.on("inputRead", (cm, obj) => {if (obj.text && obj.text.length > 0) {let c = obj.text[0].charAt(obj.text[0].length - 1)if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {cm.showHint({ completeSingle:false }) // 自动填充关闭了它}}})},

但是代码提示框的层级可能会比较低,被其他元素盖住,可以提升一下层级:

<style>
.CodeMirror-hints {z-index: 30000!important;  // 其实也不用这么大啦!
}
</style>

然后就完事了!看一下效果:

在这里插入图片描述

其他

这玩意儿啊,除了可以编辑 JavaScript 代码,像是JSON、HTML、CSS都是可以的!

编写JSON

编写JSON的话,需要改一下模式:

mode: 'application/json'

看一下效果哈:

在这里插入图片描述

编写 HTML

编写 HTML 的话,需要改一下模式:

mode: 'text/html'

看一下效果哈:

在这里插入图片描述

编写 CSS

编写 CSS 的话,需要改一下模式:

mode: 'text/css'

看一下效果哈:

在这里插入图片描述

行,大体就这些东西!

http://www.yayakq.cn/news/981064/

相关文章:

  • 怎样在外管局网站做延期付款怎么做移动端网站计算像素
  • 专业的集团网站设计公司wordpress 文章图片自动添加图片
  • 优秀网站图标网站注册页面设计
  • 荣成市建设局网站是什么十大网站app软件
  • 黑龙江 网站建设创建自己网站
  • 做英文简历的网站ps做网站一般用多大字体
  • 郑州网站建设推广win10使用dw做网站
  • 网站开发设计总结及心得体会域名出售后被用来做非法网站
  • 对网站开发语言的统计瑞安商业网站建设
  • 电子网站开发技术包括简约创意男装字体logo设计
  • 济南最好的网站制作公司哪家好一流高职院校建设计划项目网站
  • 西安百度竞价托管公司搜索引擎优化排名培训
  • 哪个网站音乐做的最好的法律咨询网站开发
  • 国开行网站毕业申请怎么做什么好的主题做网站
  • 做网站打电话怎么和客户说pc网站建设和推广
  • 免费建站排名百度智能建站系统
  • 企业网站推广设计商城网站开发实施方案
  • 做个简单的网站多少钱旅行社网站方案
  • 厦门网站制作方案cdn网络对网站开发有影响吗
  • 网站代码查询wordpress快速赚钱
  • 域名解析网站网页制作三剑客是指什么
  • 曲阜网站建设价格营销网站建设评估及分析
  • 怎么做网站埋点哪个网站做任务给东西
  • 全国卫生计生机构建设管理系统网站wordpress 分页导航无效
  • 做一个公司网站需要多少钱360浏览器最新版本下载安装
  • 电子商务网站开发的总结参考文献 教学网站建设
  • 开源网站建设工具怎样做校园网站推广
  • 北京网站建设方案书常熟住房和城乡建设局网站
  • 做公装的什么网站好浏览器主页网址大全
  • 河南省级建设主管部门网站tplink域名申请