VorwortMeine Anforderungen sind Syntaxhervorhebung, Funktionsaufforderungen, automatischer Zeilenumbruch und Code-Faltung. Monaco Monaco stammt von Microsoft, unterstützt viele Sprachen und verfügt über Miniaturkarten, aber manchmal sind die Eingabeaufforderungen nicht benutzerfreundlich und die Paketgröße ist sehr groß. So verwenden Sie die offizielle Website
Installieren
Einführung importiere * als monaco von 'monaco-editor' // Das Paket ist groß, aber die Demo ist lauffähig // Passe einige Vorschlagsfunktionen an const suggestions = [ { Bezeichnung: 'split_chinese', insertText: 'split_chinese(inputString,language);', // Wird nicht angezeigt, wenn nicht geschrieben. . Details: 'inputString: muss String teilen\n' + 'Sprache:\nCH_T: traditionelles Chinesisch\nCH_S: vereinfachtes Chinesisch\n HK_T: traditionelles Hongkong\nTW_T: traditionelles Taiwan\n' }, { Bezeichnung: "uuid", Text einfügen: 'var uuid = uuid();', Detail: „UUID generieren“ }, { Bezeichnung: 'HashMap', Text einfügen: 'var hashMap = new HashMap();', Detail: „Hash-Objekt erstellen“ } ] Initialisierung montiert() { monaco.languages.registerCompletionItemProvider('JavaScript', { provideCompletionItems() { zurückkehren { Vorschläge: Vorschläge } }, triggerCharacters: [' ', '.'] // Schreibe die Zeichen, die die Eingabeaufforderung auslösen, es können mehrere sein }) lass selbst = dies setzeTimeout(Funktion () { selbst.init() }, 50) //Da die übergeordnete Komponente den Parameter nicht übergeben hat, wurde die untergeordnete Komponente gerendert} // Initialisierungsmethode init(script) { lass selbst = dies wenn (Skript) dieser.Code = Skript self.$refs.container.innerHTML = '' var editor = monaco.editor.create(this.$refs.container, { Wert: dieser.code, Sprache: "Javascript", Minikarte: aktiviert: false }, Schriftgröße: '12px', fixedOverflowWidgets: true // Verwenden Sie feste Attribute, um Widgets anzuzeigen, die die Editorgröße überschreiten}) editor.onDidChangeModelContent(Funktion () { self.$emit('update:code', editor.getValue()) //Wird verwendet, um Inhaltsänderungen des Editors zu überwachen und den Inhalt an die übergeordnete Komponente weiterzugeben}) } html <Vorlage> <div ref="Container" Klasse="Monaco"></div> </Vorlage> CSS <Stilbereich> .monaco { Breite: 95 %; Höhe: 400px; Rand: 1px durchgezogen #dcdfe6; Textausrichtung: links; Rand rechts: 20px; Rahmenradius: 4px; } </Stil> Wirkung der Operation Mangel Meines wurde verworfen und ich möchte es nicht noch einmal ausführen. Ich werde einfach eine Demo schreiben, solange der Code noch da ist. Es läuft OK (einige Kunden haben auch berichtet, dass die Bedienung nicht einfach sei. Das ist meine Schuld. Ich bin es nicht wert, Monaco zu verwenden). Die Bedienung ist jedoch wirklich schwierig, insbesondere die Eingabeaufforderungsfunktion, die normalerweise keine Eingabeaufforderungen enthält. Dann war ein Paket riesig, etwa 3,9 G (ernsthaft). Es wird möglicherweise nicht nach Bedarf eingeführt. Wenn es jedoch nicht eingeführt wird, gibt es keine Eingabeaufforderungsfunktion und keine benutzerdefinierte Funktionseingabeaufforderung. Es gibt auch eine Webpack-Konfiguration, die hin und her geworfen wird! Oben finden Sie den detaillierten Inhalt des Tutorials zur Verwendung des JS-Compilers Monaco. Weitere Informationen zum JS-Compiler Monaco finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Detailliertes Tutorial zur Installation von MySQL 8.0.12 unter Windows
>>: Detaillierte Schritte zum Ändern des Standardkennworts bei der Installation von MySQL in Ubuntu
Ich bin kürzlich auf das Audiovisual Linux Projec...
Als ich mir selbst die Webentwicklung beibrachte,...
1. Problembeschreibung <br />Wenn JS verwen...
Hilfsfunktion mapGetters mapGetters ordnet die Ge...
Grundbegriffe des Konsuls Servermodus und Clientm...
Jeder, der meine Artikel in letzter Zeit gelesen ...
Das Unternehmen hat kürzlich einen DELL R730-Serv...
Bearbeiten Sie docker-compose.yml und fügen Sie d...
Dieser Artikel veranschaulicht anhand von Beispie...
Es ist sehr mühsam, eine virtuelle Maschine einzu...
Wenn Sie der Meinung sind, dass das System langsa...
Aus geschäftlichen Gründen kommt es häufig zu Eil...
Was ist MyCAT Ein vollständig Open Source-Großdat...
GitHub-Adresse: https://github.com/dmhsq/dmhsq-my...
Problembeschreibung: Nach der Ausführung von dock...