@@ -10,9 +10,33 @@ import VueApexCharts from 'vue3-apexcharts';
1010
1111import print from 'vue3-print-nb' ;
1212import { loader } from '@guolao/vue-monaco-editor'
13+ import * as monaco from 'monaco-editor' ;
14+ import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker' ;
15+ import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker' ;
16+ import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker' ;
17+ import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker' ;
18+ import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker' ;
1319import axios from 'axios' ;
1420import { waitForRouterReadyInBackground } from './utils/routerReadiness.mjs' ;
1521
22+ ( self as any ) . MonacoEnvironment = {
23+ getWorker ( _ : string , label : string ) {
24+ if ( label === 'json' ) {
25+ return new jsonWorker ( ) ;
26+ }
27+ if ( label === 'css' || label === 'scss' || label === 'less' ) {
28+ return new cssWorker ( ) ;
29+ }
30+ if ( label === 'html' || label === 'handlebars' || label === 'razor' ) {
31+ return new htmlWorker ( ) ;
32+ }
33+ if ( label === 'typescript' || label === 'javascript' ) {
34+ return new tsWorker ( ) ;
35+ }
36+ return new editorWorker ( ) ;
37+ } ,
38+ } ;
39+
1640// 初始化新的i18n系统,等待完成后再挂载应用
1741setupI18n ( ) . then ( async ( ) => {
1842 console . log ( '🌍 新i18n系统初始化完成' ) ;
@@ -112,8 +136,4 @@ window.fetch = (input: RequestInfo | URL, init?: RequestInit) => {
112136 return _origFetch ( input , { ...init , headers } ) ;
113137} ;
114138
115- loader . config ( {
116- paths : {
117- vs : 'https://cdn.jsdelivr.net/npm/monaco-editor@0.54.0/min/vs' ,
118- } ,
119- } )
139+ loader . config ( { monaco } )
0 commit comments