5 changed files with 62 additions and 4 deletions
@ -1,6 +1,6 @@ |
|||||
<script> |
<script> |
||||
import Inner from './YvSrcEditorInner.vue' |
import { defineAsyncComponent } from 'vue' |
||||
|
|
||||
// 异步加载 yv-src-editor-inner.vue 组件 |
// 异步加载 yv-src-editor-inner.vue 组件 |
||||
export default Inner |
export default defineAsyncComponent(() => import('./YvSrcEditorInner.vue')) |
||||
</script> |
</script> |
||||
|
|||||
@ -0,0 +1,38 @@ |
|||||
|
/** |
||||
|
* monaco 加载完成之后会调用此函数 |
||||
|
* @param monaco |
||||
|
*/ |
||||
|
export function setupMonacoEditor(monaco: any) { |
||||
|
if (!monaco || monaco.__isExtended) { |
||||
|
return |
||||
|
} |
||||
|
// 启用诊断信息(语法、语义错误提示)
|
||||
|
monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({ |
||||
|
noSemanticValidation: false, |
||||
|
noSyntaxValidation: false, |
||||
|
noSuggestionDiagnostics: false |
||||
|
}) |
||||
|
|
||||
|
// 注入 mylib 模块的类型定义
|
||||
|
monaco.languages.typescript.typescriptDefaults.addExtraLib( |
||||
|
` |
||||
|
declare module 'mylib' { |
||||
|
export function greet(name: string): void; |
||||
|
export const version: string; |
||||
|
} |
||||
|
`,
|
||||
|
'file:///node_modules/mylib/index.d.ts' |
||||
|
) |
||||
|
|
||||
|
// 配置 TypeScript 编译器选项
|
||||
|
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({ |
||||
|
target: monaco.languages.typescript.ScriptTarget.Latest, |
||||
|
module: monaco.languages.typescript.ModuleKind.ESNext, |
||||
|
moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs, |
||||
|
noEmit: true, |
||||
|
strict: true, |
||||
|
lib: ['esnext'], |
||||
|
types: [] // 不加载默认 DOM 类型
|
||||
|
}) |
||||
|
monaco.__isExtended = true |
||||
|
} |
||||
Loading…
Reference in new issue