diff --git a/src/components/Pages/MonacoEditor/EditorWorker.vue b/src/components/Pages/MonacoEditor/EditorWorker.vue new file mode 100644 index 00000000..5e2a6350 --- /dev/null +++ b/src/components/Pages/MonacoEditor/EditorWorker.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/components/Pages/MonacoEditor/index.hook.ts b/src/components/Pages/MonacoEditor/index.hook.ts index e6f808e3..ddd3512e 100644 --- a/src/components/Pages/MonacoEditor/index.hook.ts +++ b/src/components/Pages/MonacoEditor/index.hook.ts @@ -1,34 +1,10 @@ import { ref, onBeforeUnmount, nextTick } from 'vue' import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js' -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' export const useMonacoEditor = (language = 'javascript') => { let monacoEditor: monaco.editor.IStandaloneCodeEditor | null = null let initReadOnly = false const el = ref(null) - - // @ts-ignore - self.MonacoEnvironment = { - getWorker(_: any, label: string) { - if (label === 'json') { - return new jsonWorker() - } - // if (label === 'css' || label === 'scss' || label === 'less') { - // return new cssWorker() - // } - // if (label === 'html' || label === 'handlebars' || label === 'razor') { - // return new htmlWorker() - // } - if (label === 'typescript' || label === 'javascript') { - return new tsWorker() - } - return new editorWorker() - } - } // 格式化 const onFormatDoc = async () => { diff --git a/src/components/Pages/MonacoEditor/index.ts b/src/components/Pages/MonacoEditor/index.ts index 12bc7e53..675bfe91 100644 --- a/src/components/Pages/MonacoEditor/index.ts +++ b/src/components/Pages/MonacoEditor/index.ts @@ -1,3 +1,4 @@ import MonacoEditor from './index.vue'; +import EditorWorker from './EditorWorker.vue'; -export { MonacoEditor }; +export { MonacoEditor, EditorWorker }; diff --git a/src/components/Pages/MonacoEditor/index.vue b/src/components/Pages/MonacoEditor/index.vue index c13190ca..81d655e0 100644 --- a/src/components/Pages/MonacoEditor/index.vue +++ b/src/components/Pages/MonacoEditor/index.vue @@ -1,10 +1,12 @@