Javascript 将摩纳哥yaml与摩纳哥编辑器集成
我正在尝试使用所有的摩纳哥阅读器功能,所以我将结合摩纳哥差异编辑器和摩纳哥yaml插件 在此之后,我能够构建摩纳哥差异编辑器Javascript 将摩纳哥yaml与摩纳哥编辑器集成,javascript,monaco-editor,visual-studio-monaco,Javascript,Monaco Editor,Visual Studio Monaco,我正在尝试使用所有的摩纳哥阅读器功能,所以我将结合摩纳哥差异编辑器和摩纳哥yaml插件 在此之后,我能够构建摩纳哥差异编辑器 require.config({path:{'vs':'https://unpkg.com/monaco-editor@0.20.0/min/vs'}}); window.MonacoEnvironment={getWorkerUrl:()=>proxy} 让proxy=URL.createObjectURL(新Blob([` self.MonacoEnvironme
require.config({path:{'vs':'https://unpkg.com/monaco-editor@0.20.0/min/vs'}});
window.MonacoEnvironment={getWorkerUrl:()=>proxy}
让proxy=URL.createObjectURL(新Blob([`
self.MonacoEnvironment={
baseUrl:'https://unpkg.com/monaco-editor@0.20.0/min/'
};
进口文件('https://unpkg.com/monaco-editor@0.20.0/min/vs/base/worker/workerMain.js');
`],{type:'yaml'}));
要求([
'vs/editor/editor.main'
],函数(){
var lhsModel=monaco.editor.createModel(值为'yaml');
var rhsModel=monaco.editor.createModel(值为'yaml');
diffEditor=monaco.editor.createDiffEditor(document.getElementById('diff-editor'){
EnableSplitViewResizeing:false,
});
differditor.setModel({
原文:lhsModel,
修改:rhsModel
});
但是我找不到添加monaco yaml的教程,有人能给我提供一个链接、教程或任何有用的步骤吗?我没有找到这种情况的解决方案,而是使用了,我只是在提交值时或使用此侦听器停止编写1秒后显示错误
var timer;rhsModel.onDidChangeContent(函数(e){clearTimeout(timer);timer=setTimeout(parse,1000);});函数parse(){var value=rhsModel.getModel().modified.getValue();try{var doc=jsyaml.load(value);}catch(e){#show error}
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.20.0/min/vs/editor/editor.main.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.20.0/min/vs/loader.js"></script>
<script>
require.config({ paths: {'vs': 'https://unpkg.com/monaco-editor@0.20.0/min/vs'}});
window.MonacoEnvironment = { getWorkerUrl: () => proxy }
let proxy = URL.createObjectURL(new Blob([`
self.MonacoEnvironment = {
baseUrl: 'https://unpkg.com/monaco-editor@0.20.0/min/'
};
importScripts('https://unpkg.com/monaco-editor@0.20.0/min/vs/base/worker/workerMain.js');
`], { type: 'yaml' }));
require([
'vs/editor/editor.main'
], function () {
var lhsModel = monaco.editor.createModel(value, 'yaml');
var rhsModel = monaco.editor.createModel(value, 'yaml');
diffEditor = monaco.editor.createDiffEditor(document.getElementById('diff-editor'), {
enableSplitViewResizing: false,
});
diffEditor.setModel({
original: lhsModel,
modified: rhsModel
});
</script>