22 lines
1.0 KiB
TypeScript
22 lines
1.0 KiB
TypeScript
// 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 });
|