1. vue2-ace-editor
A Vue2.0's component based on ace/brace
vue2-ace-editor
Package: vue2-ace-editor
Created by: chairuosen
Last modified: Tue, 28 Jun 2022 20:45:50 GMT
Version: 0.0.15
License: MIT
Downloads: 143,264
Repository: https://github.com/chairuosen/vue2-ace-editor

Install

npm install vue2-ace-editor
yarn add vue2-ace-editor

vue2-ace-editor

npm

A packaging of ace

Demo here: https://github.com/chairuosen/vue-ace-editor-demo/tree/vue2

IMPORTANT

emmet support for html is removed after 0.0.6. because its code cannot works with strict mode.

if you want to use it. require emmet by your own.

npm install emmet@git+https://github.com/cloud9ide/emmet-core.git#41973fcc70392864c7a469cf5dcd875b88b93d4a
 require(['emmet/emmet'],function (data) { // this is huge. so require it async is better
    window.emmet = data.emmet;
});

How to use

  1. Install

    npm install --save-dev vue2-ace-editor
    
  2. Require it in components of Vue options

     {
        data,
        methods,
        ...
        components: {
            editor: require('vue2-ace-editor'),
        },
    }
    
  3. Require the editor's mode/theme module in custom methods

     {
        data,
        methods: {
            editorInit: function () {
                require('brace/ext/language_tools') //language extension prerequsite...
                require('brace/mode/html')                
                require('brace/mode/javascript')    //language
                require('brace/mode/less')
                require('brace/theme/chrome')
                require('brace/snippets/javascript') //snippet
            }
        },
    }
    
  4. Use the component in template

     <editor v-model="content" @init="editorInit" lang="html" theme="chrome" width="500" height="100"></editor>
    

    prop v-model is required

    prop lang and theme is same as ace-editor's doc

    prop height and width could be one of these: 200, 200px, 50%

  5. Access the ACE's instance

    <editor ref='myEditor'>

    let editor = this.$refs.myEditor.editor

    or

    editorInit: function (editor) {
    
    }
    

Dependencies

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin