Vite 为什么比 Webpack 在开发环境下快得多?它的原理是什么?

Vite 在开发环境下之所以能实现远超 Webpack 的“秒级”启动和热更新速度,其秘诀在于它颠覆了传统 bundler 的工作模式,充分利用了现代浏览器原生支持的 ES Modules (ESM)。 传统的 Webpack Dev Server,...

前端工程化

从概念到实践讲讲js函数式编程

函数式编程(Functional Programming,FP)是一种以函数为核心的编程范式,强调通过纯函数、不可变数据、函数组合等方式构建程序,而非依赖状态修改和指令式流程。与传统的命令式编程(一步步告诉计算机 “怎么做”)不同,函数式编程更关注 ...

如何设计好一个组件?

一个设计精良的组件,是构建可维护、可扩展前端应用的基石。它的“好”体现在API设计、可测试性、状态管理等多个维度。其核心是高内聚、低耦合的原则。 API设计组件的props是其对外的契约,应当明确、简洁且最小化。 使用typescript或propT...

CSS 变量

核心:CSS 原生支持的 “变量”,运行时可修改,解决传统预处理器(Sass/Less)变量 “编译后固定” 的问题。 1. 基本用法 12345678910111213/* 1. 定义变量(--开头,通常在:root全局作用域) */:...

关键渲染路径(Critical Rendering Path)是什么?以及如何对其进行优化?

关键渲染路径(Critical Rendering Path,CRP)是浏览器将 HTML、CSS 和JavaScript 转换为屏幕上像素所经历的一系列步骤。优化 CRP,就是缩短这个过程的时间,让用户尽快看到有意义的内容,这是提升首屏性能的核心。...

性能优化

接入sentry进行异常错误捕获和上报

简单尝试 进入sentry官网注册账户: https://sentry.io 安装依赖: npm install @sentry/react 在入口文件配置sentry 12345678910111213141516171819import ...

前端质量保障

CSS-in-JS 和原子化 CSS 的核心思想是什么?如何进行技术选型?

CSS工程化方案中,CSS-in-JS (如 Styled-components)和原子化 CSS (如 Tailwind css)的核心思想是什么? 如何进行技术选型?在现代前端开发中,如何组织和管理 CSS已经演变成一个重要的架构决策。其中,CS...

什么是微前端架构?它的核心价值和主要挑战是什么?

微前端是一种类似于微服务的架构思想在前端领域的应用。它旨在将一个庞大、笨重的单体(Monolithic)Web应用,拆解成多个更小、更专注、可以独立开发、测试、部署和演进的“微应用”。 这些微应用最终在主应用(或称基座)的协调下,被无缝地集成在一...

前端工程化

监控与 Web Vitals:把用户体验量化到 CI

监控与 Web Vitals:把用户体验量化到 CI把性能指标纳入日常开发流程后,优化才能持续。本文介绍如何在项目中采集 Web Vitals 并在 CI 中实现回归控制。

前端工程化

虚拟DOM、diff算法、fiber

虚拟 DOM (VirtualDOM)的本质是什么?Diff 算法是如何工作的?为什么需要 key ?直接操作真实 DOM 的开销是昂贵的,因为它会触发浏览器复杂的渲染流水线,包括重排(Reflow)和重绘(Repaint)。为了最大限度地减少对真实 DOM 的操作,React 引入了虚拟 DOM (Virtua DOM)的概念。

现代框架应用和原理剖析
12349