mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
ui: module loader: handle duplicate module
This commit is contained in:
1 parent
4e1745e38b
commit
e4900edb71
1 file changed
+5
-1
@@ -1,4 +1,7 @@
|
|||||||
|
const loaded = {};
|
||||||
|
|
||||||
export default async function loadExternalModule(target: string) {
|
export default async function loadExternalModule(target: string) {
|
||||||
|
if (loaded[target]) return loaded[target];
|
||||||
const ele = document.createElement('script');
|
const ele = document.createElement('script');
|
||||||
ele.src = target;
|
ele.src = target;
|
||||||
await new Promise((resolve, reject) => {
|
await new Promise((resolve, reject) => {
|
||||||
@@ -6,5 +9,6 @@ export default async function loadExternalModule(target: string) {
|
|||||||
ele.onerror = reject;
|
ele.onerror = reject;
|
||||||
document.head.appendChild(ele);
|
document.head.appendChild(ele);
|
||||||
});
|
});
|
||||||
return window.exports;
|
loaded[target] = window.exports;
|
||||||
|
return loaded[target];
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user