fix: monaco-editor offline

This commit is contained in:
tao.chen
2026-08-20 19:30:23 +08:00
parent 5c15e68a40
commit d3259ba452
+21
View File
@@ -0,0 +1,21 @@
// Monaco 本地加载配置
//
// @monaco-editor/react 默认从 jsDelivr CDN 异步加载 monaco-editor 的核心
// 脚本与 Worker(见 @monaco-editor/loader 默认 paths:
// https://cdn.jsdelivr.net/npm/monaco-editor@.../min/vs)。
// 离线 / 内网环境下 CDN 不可达时,<Editor> 初始化失败,控制台报
// "Monaco initialization: error",编辑器永远停在 loading 状态
// (Python 编辑与预览都依赖 <Editor>,因此全部打不开)。
//
// 这里把本地 node_modules 中的 monaco-editor 交给 Vite 打包,并在任何
// <Editor> 挂载前通过 loader.config 注入,彻底断开 CDN 依赖。
// 必须在 root.tsx 顶部 import,保证先于编辑器渲染执行。
//
// 注意:不配置独立 worker(monaco 会自动 fallback 到主线程,离线可用,
// 仅有一条无害的 console warning)。Vite 8 / Rolldown 对 `?worker` 后缀
// 解析不兼容,强行配置反而会打挂构建。
import { loader } from "@monaco-editor/react";
import * as monaco from "monaco-editor";
loader.config({ monaco });