From 0dae04f930427a728cecffa585884713755fac24 Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期一, 18 十一月 2024 11:29:48 +0800 Subject: [PATCH] 优化打包 --- customer_list/yw/index.js | 67 +++++++++++++++++++++++++++++---- 1 files changed, 59 insertions(+), 8 deletions(-) diff --git a/customer_list/yw/index.js b/customer_list/yw/index.js index 18d18a1..87269c0 100644 --- a/customer_list/yw/index.js +++ b/customer_list/yw/index.js @@ -14,7 +14,32 @@ keywordsTag.content = `${briefCorpName}锛�${sysName}`; descriptionTag.content = `${briefCorpName}锛�${sysName}`; title.innerText = sysName; -faviconIcon.href = icon; +faviconIcon.href = icon + `?v=1`; + +//#region ====================== LCP Promise ====================== +const loadBaseLCP = new Promise((resolve, reject) => { + try { + // 妫�鏌ユ槸鍚︽敮鎸� PerformanceObserver 鍜� LCP 鎸囨爣 + if ('PerformanceObserver' in window && PerformanceObserver.supportedEntryTypes.includes('largest-contentful-paint')) { + const observer = new PerformanceObserver((list) => { + window.list = list.getEntries(); + for (const entry of list.getEntries()) { + resolve(entry); + observer.disconnect(); // 瀹屾垚鍚庢柇寮�瑙傚療鑰� + } + }); + observer.observe({ type: 'largest-contentful-paint', buffered: true }); + } else { + // 涓嶆敮鎸佹椂 浣跨敤onLoad 鍔犺浇 + window.addEventListener('load', () => { + resolve(true); + }); + } + } catch (error) { + reject(error); + } +}); +//#endregion //#region ====================== 鍔犺浇script ====================== @@ -28,14 +53,40 @@ document.head.appendChild(script); } window.eventList = {}; -window.eventList.amisSdkJsPromise = new Promise((resolve, reject) => { - loadScript('/static/amis/sdk/sdk.js', (error) => { - if (error) { - reject(error); - return; - } - resolve(); + +loadBaseLCP.then(() => { + window.eventList.amisSdkJsPromise = new Promise((resolve, reject) => { + loadScript('/static/amis/sdk/sdk.js', (error) => { + if (error) { + reject(error); + return; + } + resolve(); + }); }); }); //#endregion + +//#region ====================== 鍔犺浇鏍峰紡 ====================== +function loadStyles(styles) { + for (const path of styles) { + const style = document.createElement('link'); + style.setAttribute('rel', 'stylesheet'); + style.setAttribute('type', 'text/css'); + style.setAttribute('href', path); + // 璁剧疆 print 鍙互閬垮厤闃诲椤甸潰娓叉煋 + style.setAttribute('media', 'print'); + style.onload = () => { + style.setAttribute('media', 'all'); + }; + document.head.appendChild(style); + } +} + +loadBaseLCP.then(() => { + loadStyles(['/static/amis/sdk/sdk.css', '/static/amis/sdk/helper.css', '/static/amis/sdk/iconfont.css']); + +}); + +//#endregion -- Gitblit v1.9.3