diff options
author | 2021-08-19 10:45:54 -0700 | |
---|---|---|
committer | 2021-08-19 10:45:54 -0700 | |
commit | f1d3aade3b408ead1c1459eb9e0d90e90290d687 (patch) | |
tree | 789e2cb8b43afc84500681fa472461a66269e5f7 /demos/hello-next/bun-framework-next/page-loader.ts | |
parent | 0826f7710186d7ec26d8d2b284ef8f89186d9350 (diff) | |
download | bun-f1d3aade3b408ead1c1459eb9e0d90e90290d687.tar.gz bun-f1d3aade3b408ead1c1459eb9e0d90e90290d687.tar.zst bun-f1d3aade3b408ead1c1459eb9e0d90e90290d687.zip |
remove unused code in route-loader, fix CSS load promise when loading `/`
Former-commit-id: 2b6a239fb6a5ba735b544949e4a770765887fcf8
Diffstat (limited to 'demos/hello-next/bun-framework-next/page-loader.ts')
-rw-r--r-- | demos/hello-next/bun-framework-next/page-loader.ts | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/demos/hello-next/bun-framework-next/page-loader.ts b/demos/hello-next/bun-framework-next/page-loader.ts index 5674697d9..1d802b41e 100644 --- a/demos/hello-next/bun-framework-next/page-loader.ts +++ b/demos/hello-next/bun-framework-next/page-loader.ts @@ -1,6 +1,6 @@ import NextPageLoader from "next/dist/client/page-loader"; import getAssetPathFromRoute from "next/dist/shared/lib/router/utils/get-asset-path-from-route"; -import createRouteLoader from "./route-loader"; +// import createRouteLoader from "./route-loader"; function insertStyleSheet(url: string) { if (document.querySelector(`link[href="${url}"]`)) { @@ -10,11 +10,11 @@ function insertStyleSheet(url: string) { return new Promise((resolve, reject) => { const link = document.createElement("link"); link.rel = "stylesheet"; - link.href = url; - link.onload = () => void resolve(); + link.onload = () => resolve(); + link.onerror = () => reject(); - link.onerror = () => void reject(); + link.href = url; document.head.appendChild(link); }); } @@ -26,7 +26,7 @@ export default class PageLoader extends NextPageLoader { super(_, __); // TODO: assetPrefix? - this.routeLoader = createRouteLoader(""); + // this.routeLoader = {}; //createRouteLoader(""); // Rewrite the pages object to omit the entry script // At this point, the entry point has been loaded so we don't want to do that again. @@ -60,8 +60,9 @@ export default class PageLoader extends NextPageLoader { cssQueue = []; onImportCSS = (event) => { - this.cssQueue.push(insertStyleSheet(event.detail).then(() => void 0)); + this.cssQueue.push(insertStyleSheet(event.detail)); }; + async loadPage(route: string): Promise<GoodPageCache> { const assets = this.pages[route] || this.pages[getAssetPathFromRoute(route)]; @@ -81,11 +82,19 @@ export default class PageLoader extends NextPageLoader { document.addEventListener("onimportcss", this.onImportCSS, { passive: true, }); + try { const res = await import(src); if (this.cssQueue.length > 0) { await Promise.all(this.cssQueue); + this.cssQueue.length = 0; + } + + document.removeEventListener("onimportcss", this.onImportCSS); + + if (this.cssQueue.length > 0) { + await Promise.all(this.cssQueue); this.cssQueue.length = 0; } @@ -97,10 +106,8 @@ export default class PageLoader extends NextPageLoader { __N_SSG: false, __N_SSP: false, }; - - debugger; } catch (exception) { - debugger; + console.error({ exception }); } // return this.routeLoader.loadRoute(route).then((res) => { @@ -120,7 +127,7 @@ export default class PageLoader extends NextPageLoader { } // not used in development! - prefetch(route: string): Promise<void> { - return this.routeLoader.prefetch(route); - } + // prefetch(route: string): Promise<void> { + // return this.routeLoader.prefetch(route); + // } } |