From a41d851aaa1b14b835e49b4894650058688cccce Mon Sep 17 00:00:00 2001 From: hwj Date: Mon, 13 Jul 2026 17:11:16 +0800 Subject: [PATCH] =?UTF-8?q?perf=EF=BC=9A=E9=A6=96=E5=B1=8F=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E5=B1=8F=E8=94=BDvue-plugin-hiprint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.ts | 25 ------------------------- vite.config.ts | 7 ------- 2 files changed, 32 deletions(-) diff --git a/src/main.ts b/src/main.ts index 5d4b088d..874f7668 100644 --- a/src/main.ts +++ b/src/main.ts @@ -42,28 +42,6 @@ import Logger from '@/utils/Logger' import VueDOMPurifyHTML from 'vue-dompurify-html' // 解决v-html 的安全隐患 -// 空闲时静默加载打印插件(vue-plugin-hiprint 体积较大且内含 jQuery)。 -// 等浏览器空闲后再动态加载,避免与首屏关键请求争抢连接/带宽而拖慢首屏。 -const setupHiprintWhenIdle = (app: ReturnType) => { - const load = () => { - import('vue-plugin-hiprint') - .then(({ hiPrintPlugin }) => { - app.use(hiPrintPlugin, '$hiprint', false) - hiPrintPlugin.disAutoConnect() - }) - .catch((e) => { - console.error('[hiprint] 打印插件加载失败:', e) - }) - } - // 优先使用 requestIdleCallback,在浏览器空闲时加载;不支持则延迟兜底 - const ric = (window as any).requestIdleCallback - if (typeof ric === 'function') { - ric(load, { timeout: 50000 }) - } else { - setTimeout(load, 30000) - } -} - // 创建实例 const setupAll = async () => { const app = createApp(App) @@ -89,9 +67,6 @@ const setupAll = async () => { app.use(VueDOMPurifyHTML) app.mount('#app') - - // 首屏渲染后,等浏览器空闲再静默加载打印插件 - setupHiprintWhenIdle(app) } setupAll() diff --git a/vite.config.ts b/vite.config.ts index 979aa3d9..269c765c 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -79,13 +79,6 @@ export default ({command, mode}: ConfigEnv): UserConfig => { // brotliSize: false, // 提高 chunk 体积告警阈值,避免大量无意义警告 chunkSizeWarningLimit: 2000, - // 控制 index.html 中注入的 modulepreload 预加载链接, - // 剔除 hiprint 等按需异步加载的大 chunk,避免其在首屏被抢先预加载而阻塞 - modulePreload: { - resolveDependencies: (_filename, deps) => { - return deps.filter((dep) => !dep.includes('hiprint')) - } - }, rollupOptions: { output: { // 将体积较大的第三方依赖拆分为独立 chunk,避免全部打进入口主 chunk 导致首屏阻塞