我需要使用纯客户端解决方案,并且不使用node.js来将monaco-editor集成在网页上。
我在@SimperT How to implement monaco-editor on a webpage without nodejs and electron处找到了一个不错的答案,但他的存储库太过时了(js是一个荒野的世界),而且我有一个额外的约束条件,即文件只能在本地提供(对于内联网,没有CDN,无需外部访问)。
因此,这只是在瓶子中传达的信息,但是如果有人对如何执行操作有任何线索或指示,我会很高兴...(如果我想出一种解决方案,我将其张贴在这里)
这个问题有点笨拙。尽管如此,我的错误可能会使其他人受益,但问题出在未正确设置的require变量中。这是所投放的html页面(带有cherrypy):
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>monaco editor</title>
<link rel="stylesheet" data-name="vs/editor/editor.main" href="_static/js/ext/monaco-editor/min/vs/editor/editor.main.css">
</head>
<body style="background-color: rgb(140, 190, 190);">
<h1>monaco editor</h1>
<div id="monaco_editor" style="height:400px">
</div>
<script>var require = { paths: { 'vs': '_static/js/ext/monaco-editor/min/vs' } };</script>
<script src="_static/js/ext/monaco-editor/min/vs/loader.js"></script>
<script src="_static/js/ext/monaco-editor/min/vs/editor/editor.main.nls.js"></script>
<script src="_static/js/ext/monaco-editor/min/vs/editor/editor.main.js"></script>
<script>
var h_div = document.getElementById('monaco_editor');
var editor = monaco.editor.create(h_div, {
value: [
'function x() {',
'\tconsole.log("Hello world!");',
'}'
].join('\n'),
language: 'javascript'
});
</script>
</body>
</html>
带有此处找到的包:https://microsoft.github.io/monaco-editor/已解压缩并可以正确地静态投放。