chore(playground): adapter改成异步加载

This commit is contained in:
roymondchen 2025-10-31 14:14:00 +08:00
parent d0179028fb
commit 7b19a01849

View File

@ -24,15 +24,12 @@ import HtmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker';
import JsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'; import JsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker';
import TsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'; import TsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker';
import editorPlugin, { type DesignPluginOptions } from '@tmagic/editor'; import editorPlugin from '@tmagic/editor';
import MagicElementPlusAdapter from '@tmagic/element-plus-adapter';
import MagicTdesignAdapter from '@tmagic/tdesign-vue-next-adapter';
import App from './App.vue'; import App from './App.vue';
import router from './route'; import router from './route';
import 'element-plus/dist/index.css'; import 'element-plus/dist/index.css';
import 'tdesign-vue-next/es/style/index.css';
import '@tmagic/editor/dist/style.css'; import '@tmagic/editor/dist/style.css';
// @ts-ignore // @ts-ignore
@ -58,12 +55,19 @@ monaco.languages.typescript.typescriptDefaults.setEagerModelSync(true);
const adpter = sessionStorage.getItem('tmagic-playground-ui-adapter') || 'element-plus'; const adpter = sessionStorage.getItem('tmagic-playground-ui-adapter') || 'element-plus';
const adpterMap: Record<string, DesignPluginOptions> = { let adpterModule;
'element-plus': MagicElementPlusAdapter,
'tdesign-vue-next': MagicTdesignAdapter,
};
const app = createApp(App); if (adpter === 'tdesign-vue-next') {
app.use(router); import('tdesign-vue-next/es/style/index.css');
app.use(editorPlugin, adpterMap[adpter] || MagicElementPlusAdapter); adpterModule = import('@tmagic/tdesign-vue-next-adapter');
app.mount('#app'); } else {
import('element-plus/dist/index.css');
adpterModule = import('@tmagic/element-plus-adapter');
}
adpterModule.then((module: any) => {
const app = createApp(App);
app.use(router);
app.use(editorPlugin, module.default);
app.mount('#app');
});