// Monaco 本地加载配置 // // @monaco-editor/react 默认从 jsDelivr CDN 异步加载 monaco-editor 的核心 // 脚本与 Worker(见 @monaco-editor/loader 默认 paths: // https://cdn.jsdelivr.net/npm/monaco-editor@.../min/vs)。 // 离线 / 内网环境下 CDN 不可达时, 初始化失败,控制台报 // "Monaco initialization: error",编辑器永远停在 loading 状态 // (Python 编辑与预览都依赖 ,因此全部打不开)。 // // 这里把本地 node_modules 中的 monaco-editor 交给 Vite 打包,并在任何 // 挂载前通过 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 });