From fb005dd5da13859ba0f1afdc21c2cb8f2c8cb34c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=8D=8E=E6=98=A5?= Date: Wed, 28 Aug 2024 09:43:09 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20=E7=94=9F=E6=88=90?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8A=A8=E6=80=81=E5=8A=A0=E8=BD=BD=E4=BE=9D?= =?UTF-8?q?=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/app/src/main.ts | 6 +++--- packages/renderer/src/provider/provider.ts | 11 +++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/apps/app/src/main.ts b/apps/app/src/main.ts index fe4e9dd02..ad21818e8 100644 --- a/apps/app/src/main.ts +++ b/apps/app/src/main.ts @@ -14,15 +14,15 @@ const { provider, onReady } = createProvider({ service, router, dependencies: { - // Vue: () => import('vue'), - // VueRouter: () => import('vue-router'), + Vue: () => import('vue'), + VueRouter: () => import('vue-router'), + VtjUI: () => import('@vtj/ui') // ElementPlus: () => import('element-plus') }, project: { id: name } }); - onReady(async () => { app.use(router); app.use(provider); diff --git a/packages/renderer/src/provider/provider.ts b/packages/renderer/src/provider/provider.ts index 40a1cd7bf..abbd051f5 100644 --- a/packages/renderer/src/provider/provider.ts +++ b/packages/renderer/src/provider/provider.ts @@ -130,6 +130,8 @@ export class Provider extends Base { if (this.nodeEnv !== 'production') { await this.loadAssets(_window); + } else { + await this.loadDependencies(_window); } this.apis = createSchemaApis(apis, meta, this.adapter); @@ -142,6 +144,15 @@ export class Provider extends Base { this.triggerReady(); } + private async loadDependencies(_window: any) { + const entries = Object.entries(this.dependencies); + for (const [name, raw] of entries) { + if (!_window[name]) { + _window[name] = await raw(); + } + } + } + private async loadAssets(_window: any) { const { dependencies: deps = [] } = this.project as ProjectSchema; const { dependencies, library, components, materialPath } = this;