WebアプリにMonacoEditorを埋め込む方法
現在作成中のWebアプリにエディタ機能を実装する必要性が出てきた為、何か良いサービスはないかと探していた。
そしたら、vscodeと同様の機能を要するMonacoEditorというサービスを発見した。
次は実際に導入する方法だが、まずターミナル上で以下のコマンドを入力する。
npm install monaco-editor
インストール後に、HTML・JavaScriptファイルを用意して以下のように記述する。
index.html
...
<div id="editorContainer"></div>
...
</body>
<script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
<script src="monacoEditor.js"></script>
monacoEditor.js
require.config({ paths: { vs: "../node_modules/monaco-editor/min/vs" } });
let editorInstance = window.editorInstance;
require(["vs/editor/editor.main"], function () {
editorInstance = monaco.editor.create(
document.getElementById("editorContainer"),
{
value: "",
language: "",
roundedSelection: false,
scrollBeyondLastLine: false,
readOnly: false,
theme: "vs-dark",
fontSize: 15,
},
);
});
"monacoEditor.js"内のgetElementById()以下のパラメーターについては、公式Documentationを参照、またはChatGPTに聞く必要あり。
MonacoEditorのお陰で、ブラウザ上で動作可能なエディタを自作する、もしくは有料のその他サービスを利用する工程を省けて、とても嬉しい限りである。
この記事が気に入ったらサポートをしてみませんか?