From e4900edb714cab7a22f26bd08e8939209a3627b3 Mon Sep 17 00:00:00 2001 From: undefined Date: Wed, 1 Jun 2022 19:23:07 +0800 Subject: [PATCH] ui: module loader: handle duplicate module --- packages/ui-default/utils/loadModule.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/ui-default/utils/loadModule.ts b/packages/ui-default/utils/loadModule.ts index ad36c6acf..39707137e 100644 --- a/packages/ui-default/utils/loadModule.ts +++ b/packages/ui-default/utils/loadModule.ts @@ -1,4 +1,7 @@ +const loaded = {}; + export default async function loadExternalModule(target: string) { + if (loaded[target]) return loaded[target]; const ele = document.createElement('script'); ele.src = target; await new Promise((resolve, reject) => { @@ -6,5 +9,6 @@ export default async function loadExternalModule(target: string) { ele.onerror = reject; document.head.appendChild(ele); }); - return window.exports; + loaded[target] = window.exports; + return loaded[target]; }