lanceJiang преди 8 месеца
родител
ревизия
c7e6f528e8
променени са 1 файла, в които са добавени 29 реда и са изтрити 4 реда
  1. 29 4
      src/components/MonacoEditor/index.vue

+ 29 - 4
src/components/MonacoEditor/index.vue

@@ -2,9 +2,33 @@
 	<div ref="monacoRef" :style="{ height }" class="le-monaco-editor" />
 </template>
 <script setup lang="ts">
-// import * as monaco from 'monaco-editor'
-import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'
-import { ref, watch, onMounted, onBeforeUnmount } from 'vue'
+import * as monaco from 'monaco-editor'
+// import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'
+// import * as monaco from 'monaco-editor/esm/vs/editor/editor.main.js'
+import { ref, shallowRef, watch, onMounted, onBeforeUnmount } from 'vue'
+// 解决vite Monaco提示错误
+import editWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'
+
+self.MonacoEnvironment = {
+	getWorkerUrl: function (moduleId, label) {
+		// console.error(moduleId, label, 'moduleId, label')
+		/*if (label === 'json') {
+			return './json.worker.bundle.js'
+		}
+		if (label === 'css' || label === 'scss' || label === 'less') {
+			return './css.worker.bundle.js'
+		}
+		if (label === 'html' || label === 'handlebars' || label === 'razor') {
+			return './html.worker.bundle.js'
+		}
+		if (label === 'typescript' || label === 'javascript') {
+			return './ts.worker.bundle.js'
+		}*/
+		// return './editor.worker.bundle.js'
+		// return 'editor.worker.js'
+		return editWorker
+	}
+}
 defineOptions({ name: 'MonacoEditor' })
 const props = defineProps({
 	height: {
@@ -39,7 +63,8 @@ onMounted(() => {
 		value: props.modelValue,
 		language: props.language,
 		theme: props.theme,
-		automaticLayout: true
+		automaticLayout: true,
+		wordWrap: 'on'
 	})
 	editor.value = _editor
 	_editor.onDidChangeModelContent(event => {