Pixiv - KiraraShss
Vue3 依赖注入深入:provide/inject 的架构设计与最佳实践
在 Vue 组件树中,数据传递是一个核心问题。props 是最基础的方式,但当组件层级变深时,中间组件被迫传递它们并不关心的 props——这就是臭名昭著的 Props Drilling(属性穿透) 问题。Vue3 的 provide/inject 提供了一种优雅的跨层级通信机制,但很多开发者只停留在基础用法层面。
Vue3 Composable 设计模式:可复用组合式函数的 10 个高级技巧
Composition API 是 Vue3 最核心的变革。而 Composable(组合式函数)则是 Composition API 的灵魂——它是 Vue3 实现逻辑复用的标准方式,取代了 Vue2 时代的 Mixins、高阶组件等模式。
Service Worker 离线优先策略:构建真正可靠的 PWA
你有没有遇到过这种场景:地铁里打开一个网页,转了半天菊花,最后白屏了。WiFi 断了一秒钟,正在提交的表单丢了。弱网环境下,页面加载了 10 秒还没出来。
前端安全深入:XSS、CSRF 与 CSP 的攻防实战
前端安全不是可选项,而是必修课。每年 OWASP Top 10 中,注入攻击(包括 XSS)和跨站请求伪造(CSRF)始终占据前列。然而很多前端开发者对安全的理解仅停留在「用 textContent 替代 innerHTML」的层面,缺乏系统性的认知。
ESLint Flat Config 迁移指南:从 .eslintrc 到 eslint.config.js 的完整实践
ESLint v9 正式将 Flat Config 作为默认配置系统,旧的 .eslintrc.* 格式进入废弃期。这不只是换个文件名——Flat Config 重新设计了配置的组织方式,解决了旧系统中层叠合并、插件解析等长期痛点。本文将带你理解新系统的设计原理,并完成一次完整的迁移实践。
TypeScript 类型体操实战:从 infer 到递归类型的高级技巧
TypeScript 的类型系统是图灵完备的——这意味着你可以在类型层面做几乎任何计算。这听起来很学术,但实际上,掌握高级类型技巧能让你写出更安全、更具表达力的代码。本文将从条件类型出发,逐步深入 infer、模板字面量类型、递归类型和类型分发,最终带你手写一系列实用的工具类型。
JavaScript 迭代器协议深入:从 Symbol.iterator 到异步生成器
迭代(Iteration)是编程中最基础的操作之一。JavaScript 通过**迭代器协议(Iterator Protocol)和可迭代协议(Iterable Protocol)**定义了一套统一的迭代标准,让 for...of、展开运算符、解构赋值等语法特性能够与任何自定义数据结构无缝协作。
CSS Container Queries 完全指南:比媒体查询更强大的响应式方案
在过去十多年里,@media 媒体查询一直是响应式设计的基石。我们通过检测视口宽度来决定布局如何变化:
CSS :has() 选择器:彻底改变 CSS 的父选择器终于来了
在 CSS 的世界里,选择器的方向一直是从上到下的——你可以选择一个元素的子元素、后代元素、相邻兄弟元素,但你无法根据子元素的状态来选择父元素。
Vue3 自定义渲染器与虚拟 DOM Diff 算法深度解析
Vue3 的渲染器(Renderer)是框架的另一个核心模块。它负责将虚拟 DOM 转换为真实 DOM,并在更新时通过 Diff 算法最小化 DOM 操作。本文将深入解析 Vue3 的渲染器架构和最长递增子序列(LIS)Diff 算法。