From 45193e017f4b17d3898dd41cf4ed27df41ee616a Mon Sep 17 00:00:00 2001 From: Slinetrac Date: Sun, 21 Dec 2025 21:08:57 +0800 Subject: [PATCH] fix(monaco): Ensure monaco loader uses the bundled ESM instance instead of CDN --- Changelog.md | 1 + src/utils/monaco.ts | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/Changelog.md b/Changelog.md index ec259f7ec..b388fa1da 100644 --- a/Changelog.md +++ b/Changelog.md @@ -5,6 +5,7 @@ - 修复 macOS 有线网络 DNS 劫持失败 - 修复 Monaco 编辑器内右键菜单显示异常 - 修复设置代理端口时检查端口占用 +- 修复 Monaco 编辑器初始化卡 Loading
✨ 新增功能 diff --git a/src/utils/monaco.ts b/src/utils/monaco.ts index 35906d71e..e71b03cf6 100644 --- a/src/utils/monaco.ts +++ b/src/utils/monaco.ts @@ -1,3 +1,5 @@ +import { loader } from "@monaco-editor/react"; +import * as monaco from "monaco-editor"; import editorWorker from "monaco-editor/esm/vs/editor/editor.worker?worker"; import cssWorker from "monaco-editor/esm/vs/language/css/css.worker?worker"; import tsWorker from "monaco-editor/esm/vs/language/typescript/ts.worker?worker"; @@ -5,6 +7,9 @@ import yamlWorker from "monaco-yaml/yaml.worker?worker"; type WorkerConstructor = new () => Worker; +// Ensure monaco loader uses the bundled ESM instance instead of CDN. +loader.config({ monaco }); + // Align with the former plugin mapping so Monaco can resolve its background workers. const workerConstructors: Record = { editorWorkerService: editorWorker,