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,
}
}
}
})