Vue-Codemirror-Lite

Use vue-codemirror-lite in Browser

HTML

<div id="app">
  <div style="height:100px;border:1px solid red;"></div>
  <codemirror id="code" v-model="value" :options="cmOptions"></codemirror>
  <div style="height:100px;border:1px solid blue;"></div>
</div>

<script src="https://npmcdn.com/[email protected]/dist/vue.min.js"></script>
<script src="https://unpkg.com/vue-codemirror-lite/dist/vuecodemirror.min.js"></script>
<script>window.CodeMirror = VueCodeMirror.CodeMirror</script>
<script src="https://codemirror.net/mode/javascript/javascript.js"></script>
<script src="https://codemirror.net/mode/xml/xml.js"></script>
<script src="https://codemirror.net/addon/mode/overlay.js"></script>
<script src="https://codemirror.net/mode/htmlmixed/htmlmixed.js"></script>
<script src="https://codemirror.net/mode/vue/vue.js"></script>

CSS

#app {
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
}

#code {
    flex: 1;
    min-height: 0;
}

#code .CodeMirror {
    height: 100%;
}

html, body, #app {
    height: 100vh;
    width: 100vw;
    margin: 0;
}

JavaScript

Vue.use(VueCodeMirror)

const app = new Vue({
  el: '#app',
  data: function()
  {
    return {
    value:`function whoIsOp() {
  return "хуй";
}

console.warn('OP is:', whoIsOp());
`,
    	cmOptions: {
        styleActiveLine: true,
        autoCloseBrackets: true,
        tabSize: 4,
        mode: 'javascript',
        lineNumbers: true,
        line: true,
      }
    }
  }
})