diff --git a/ui/src/main.tsx b/ui/src/main.tsx index 90f4051..068cc63 100644 --- a/ui/src/main.tsx +++ b/ui/src/main.tsx @@ -7,6 +7,35 @@ import '@/assets/fonts/iconfont'; import './index.css'; import '@/assets/styles/markdown.css'; import { ThemeProvider } from '@c-x/ui'; + +// 配置 Monaco Editor 环境 +import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'; +import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'; +import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker'; +import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker'; +import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'; + +window.MonacoEnvironment = { + getWorker: function (workerId: string, label: string) { + switch (label) { + case 'json': + return new jsonWorker(); + case 'css': + case 'scss': + case 'less': + return new cssWorker(); + case 'html': + case 'handlebars': + case 'razor': + return new htmlWorker(); + case 'typescript': + case 'javascript': + return new tsWorker(); + default: + return new editorWorker(); + } + }, +}; import { getUserProfile } from '@/api/UserManage'; import { getAdminProfile } from '@/api/Admin'; import { getMyModelList } from '@/api/Model'; diff --git a/ui/vite.config.ts b/ui/vite.config.ts index df080f2..67a221d 100644 --- a/ui/vite.config.ts +++ b/ui/vite.config.ts @@ -27,25 +27,27 @@ export default defineConfig(({ mode }) => { 'process.env.REACT_APP_MONACO_CDN': JSON.stringify('false'), }, // 优化构建配置 - build: { - rollupOptions: { - output: { - manualChunks: { - 'monaco-editor': ['monaco-editor'], - 'monaco-react': ['@monaco-editor/react'], - }, - }, - }, - // 复制 Monaco Editor 的静态资源 - copyPublicDir: true, - }, + // build: { + // rollupOptions: { + // output: { + // manualChunks: { + // 'monaco-editor': ['monaco-editor'], + // 'monaco-react': ['@monaco-editor/react'], + // }, + // }, + // }, + // // 复制 Monaco Editor 的静态资源 + // copyPublicDir: true, + // }, // 确保 Monaco Editor 被正确优化 - optimizeDeps: { - include: ['monaco-editor', '@monaco-editor/react'], - }, - // 处理 worker 文件 - worker: { - format: 'es', - }, + // optimizeDeps: { + // include: ['monaco-editor', '@monaco-editor/react'], + // }, + // // 处理 worker 文件 + // worker: { + // format: 'es', + // }, + // 确保 Monaco Editor workers 能正确加载 + // assetsInclude: ['**/*.worker.js'], }; });