vue3使用defer优化项目白屏加载时间

defer.ts

javascript 复制代码
import { ref } from 'vue'

export function useDefer() {
  const frameCount = ref(1)
  function updateFrameCount() {
    requestAnimationFrame(() => {
      frameCount.value++
      updateFrameCount()
    })
  }
  updateFrameCount()
  return function (n: any) {
    return frameCount.value >= n
  }
}

在.vue文件中使用,按帧数加载组件

javascript 复制代码
<template>
	<div>
		<Header v-if="defer(1)"></Header>
		<Main v-if="defer(2)"></Main>
		<Footer v-if="defer(3)"></Footer>
	</div>
</template>
<script>
	import { useDefer } from '@/utils/defer'
	const defer = useDefer()
</script>
相关推荐
农夫山泉不太甜9 小时前
Tauri v2 实战代码示例
前端
yuhaiqiang9 小时前
被 AI 忽悠后,开始怀念搜索引擎了?
前端·后端·面试
红色石头本尊10 小时前
1-umi-前端工程化搭建
前端
真夜10 小时前
关于对echart盒子设置百分比读取的宽高没有撑开盒子解决方案
前端
楠木68510 小时前
RAG 资料库 Demo 完整开发流程
前端·ai编程
肠胃炎10 小时前
挂载方式部署项目
服务器·前端·nginx
像我这样帅的人丶你还10 小时前
使用 Next.js + Prisma + MySQL 开发全栈项目
前端
FPGA小迷弟10 小时前
FPGA 时序约束基础:从时钟定义到输入输出延迟的完整设置
前端·学习·fpga开发·verilog·fpga
Kel10 小时前
深入剖析 openai-node 源码:一个工业级 TypeScript SDK 的架构之美
javascript·人工智能·架构
毛骗导演11 小时前
@tencent-weixin/openclaw-weixin 插件深度解析(四):API 协议与数据流设计
前端·架构