vue-codemirror代码不高亮显示的解决办法

vue-codemirror代码不高亮显示的解决办法

近期在修改以前项目出现过的问题,使用vue-codemirror代码的颜色不会高亮显示,在网上查找了很多的资料,现在把解决方案记录一下。vue-codemirror是一个在线代码编辑器,显示效果如下所示:
在这里插入图片描述

那如何在项目中去使用vue-codemirror

1.下载对应的依赖

在项目中安装对应的依赖,引入相关文件

npm install vue-codemirror --save

2.在main.js中注册为全局组件,这样就可以全局使用这个组件

在本项目中,这个组件在多个地方都有被使用到,为了减少代码的冗余,在main.js中引入下载的依赖包,取名为codemirror,通过全局方法Vue.use()使用插件

import codemirror from 'vue-codemirror'
import 'codemirror/lib/codemirror.css'
Vue.use(codemirror)

3.在页面中使用vue-codemirror

因为在main.js中注册了codemiror,直接在页面写入就行,不需要再额外导入vue-codemirror

<codemirror v-loading="loading"
            ref="codeMirrorRef"
            v-model="serviceObject"
           :options="cmOption">
</codemirror>

4.导入相关样式

按照以上步骤大致内容已经配置好了,但是为了实现代码高亮还需要在页面上引入相关的样式

  import "codemirror/theme/cobalt.css";  
  import "codemirror/addon/selection/active-line.js";
  import 'codemirror/addon/display/autorefresh';
  import "codemirror/mode/javascript/javascript.js"

5.配置cmOption

为了使代码块能高亮,theme主题名必须和上文导入的/theme/cobalt.css"名字一致,同理mode的名字也要和导入的样子名字一致,本文导入javascript是因为项目需要,大家可根据自己的项目导入合适的主题

 export default {
    data() {
      return {
        isdisabled: true,
        loading: false,
        cmOption: {
          autoRefresh: true, // 重点是这句,为true
          value: '', // 初始内容
          mode: 'javascript',  //实现Java代码高亮
          tabSize: 4, // tab的空格宽度
          styleActiveLine: true, // 设置光标所在行高亮true/false
          lineNumbers: true, //显示行号
          theme: "cobalt", //设置主题cobalt/monokai
          // json: true,
          readOnly: true, // 设置为只读true/false;也可设置为"nocursor"失去焦点
          // lineWrapping: true
        },

6.最终效果如下所示

在这里插入图片描述

如果想要配置不同的主题,可以去官网参考示例使用
vue-codemirror官网: https://www.npmjs.com/package/vue-codemirror
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
插件实现Java代码高亮显示,可以按照以下步骤进行操作: 以下是一个Vue组件的示例,其中包含一个1. 安装vue-codemirror插件和codemirror插件: ```shell npm install vue-codemirror --save npm install codCodemirror编辑器和一个按钮,点击按钮将编辑器中的内容emirror --save ```发送到后端进行处理: ```html <template> <div> <codemirror ref="codeMirrorEditor" :value="code 2. 在main.js中引入vue-codemirror插件和codemirror插件: ```javascript import" : Vue fromoptions="{ theme: 'vue' import VueCodeMirror from ' 'base16vue-codem-dark' }irror' import" @changes 'codem="onChange"></irror/lib/ccodemirrorodemirror.css> <' import 'button @clickcodemirror="sendData/mode/cl">发送数据ike/clike</button> .js' Vue </div.use(Vue> </templateCodeMirror) ```> <script> import axios from 'axios' import 'codemirror/lib/codemirror.css' import 'codem 3. 在需要使用vue-codemirror的组件中,使用vue-codemirror标签,并设置mode属性为clirror/theme/base16-dark.css' import VueCodemirrorike,即可实现Java代码高亮显示: ```html from< 'vuetemplate> -codemirror' export default <div> { components <vue: { -codemirror codemirror v-model=": VueCodcode" :emirror.codoptions="cmemirror Options" mode }, ="clike data() { "></vue-codemirror> return { </div code:> </template '' } > <script> }, export default { methods: { data() { return onChange() { code { this: '', .code = this cmOptions:.$refs.code { tabMirrorEditor.getCodeSize: 4, () }, styleActiveLine sendData() { axios: true, .post('/api lineNumbers/data', {: true, line: data: this true, .code }) theme: ' .then(responseidea' => { } } console.log(response.data) }) .catch(error => { } } </script>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值