前端体验优化之异步数据

在单页应用中,往往需要请求异步数据来渲染页面,开发者需要管理各种数据的加载、loading和异常处理,本文整理了这些场景下常见的问题,以及一些解决方案。

阅读全文

vite插件实现骨架屏自动化

骨架屏在SPA应用中有两个显著提升用户体验的作用

  • 避免页面初始化加载时的空白,体验介于SSR和完全等待页面初始化完成之间
  • 避免部分路由组件需要加载数据完成之后才渲染的空白

骨架屏会给用户一种内容已经返回的错觉,只要稍加等待就能看见完整内容了,因此骨架屏的定位就是真实内容准备好之前的替身。

之前研究过一种快速生成骨架屏的想法:使用Chrome扩展程序生成网页骨架屏,大概原理是通过Chrome扩展程序注入content.js修改页面DOM接口,最终导出带有骨架屏样式的HTML代码。

当时的这个想法并没有在生产中落地,最近在折腾用户体验相关的功能,发现还是有必要继续完善一下骨架屏相关的东西。

阅读全文

video标签常见问题整理

梳理笔记时发现了不少关于Video标签的问题,涉及到诸如自动播放、编码错误等问题,也包括背景虚化、视频外部字幕等业务场景,于是统一整理一下。

阅读全文

前端体验优化之图片加载闪烁

最近在学习一些前端优化用户体验的方案,想到了在业务中碰到的因为图片加载导致页面撑开闪烁的问题,经过一番研究之后找到了一些可行的方案,于是记录一下。

阅读全文

记一次npmlink本地开发引发的bug

最近在开发一个个人项目时,使用了npm link引用本地其他目录下的包,碰到了库代码重复打包、Vue版本不一致等问题,最后发现是rollup和node_modules包寻址的问题,稍作记录。

阅读全文

博客v0.8迭代记录

一拖再拖,终于将博客升级到了v0.8.0,主要涉及到底层框架react-vue、服务接口vite ssr、项目管理pnpm monorepo和部署方式docker compose等方面的改动,感觉可以记录一下。

阅读全文

自定义React中JSX的Element类型

react-vue中,我定义了一种setup式的函数组件,这种组件返回的是一个render函数,因此在tsx中需要实现一种新的JSX.Element,否则会出现函数组件返回值类型冲突的问题。本文主要探究如何解决这个问题。

阅读全文

实现一个类React的Vue3框架

上一次使用NeZha重构博客大概是三年以前了,最近打算迭代一下,于是想着写一个融合Vue3React风格的小玩具,名字也没想好(也许就叫做react-vue了)。本文主要记录一下相关的开发过程。

阅读全文

初识Java多线程编程

在前端开发工作中,基本上没有接触到多线程编程,最近在整理Android开发,感觉需要深入地学习一下多线程的知识,因此整理了一下Java中的多线程编程知识点。

阅读全文