
我的cursor/windsurf规则(长期更新)
该文分享了一套文件命名规范建议:App Router 文件夹用 kebab-case,非路由文件/文件夹(如 utils, hooks)用 camelCase,React 组件文件用 PascalCase。旨在利用不同场景的约定,通过视觉清晰区分代码结构,提升可读性。

该文分享了一套文件命名规范建议:App Router 文件夹用 kebab-case,非路由文件/文件夹(如 utils, hooks)用 camelCase,React 组件文件用 PascalCase。旨在利用不同场景的约定,通过视觉清晰区分代码结构,提升可读性。
本文介绍了一种基于monorepo架构的CI/CD流程,重点解决构建稳定性、上线可追溯性、构建速度和密钥管理。通过分离CI和Deploy流程,优化变更检测和并行构建,确保只构建受影响的应用,并使用Docker构建轻量镜像,保障敏感信息安全。最终实现高效、可追溯的发布机制,便于后续扩展。

文章介绍了如何利用EdgeOne实现未备案主站的静态资源加速。通过已备案的子域名配置CDN,结合Next.js优化资源管理,确保静态文件高效加载。提供了详细的配置步骤、缓存策略及常见问题排查,帮助用户提升网站性能。
EffectScope解决副作用批量管理难题:自动收集作用域内Effect及子作用域,通过其stop函数统一停止,简化生命周期管理,防止内存泄漏。
订阅者是响应式系统中追踪依赖并响应变化的执行单元,如计算属性和副作用,通过deps列表记录依赖,flags状态管理更新,实现惰性计算或自动执行,与依赖和核心系统协作完成数据驱动的动态响应。
本章深入解析响应式系统中的核心角色“依赖(Dependency)”,如Signal和Computed,其核心职责是维护订阅者列表(subs)。通过link函数记录依赖关系,在值变化时通过propagate通知订阅者,采用链表结构高效管理订阅者。依赖作为数据发布者,实现了变化的高效传播机制。
响应式系统通过startTracking、link和endTracking实现自动依赖追踪与链接。当计算属性或副作用执行时,系统标记activeSub并记录其读取的响应式源,建立双向依赖关系。endTracking清理无效依赖,确保依赖图准确。这一机制使系统能动态发现数据关联,实现精确更新。
响应式系统核心是协调信号、计算属性和副作用的关键引擎,通过link建立依赖关系,propagate传播变化,以及调度函数(updateComputed、notifyEffect)高效执行更新,确保数据变化自动触发相关计算和操作,实现高效响应式流程。
本文探讨响应式编程中副作用(Effect),解决数据变化时自动执行操作的问题。Effect通过effect函数创建,立即运行并追踪依赖项;变化时重新执行,用于更新UI等外部任务;可手动停止。核心机制包括依赖收集和通知,确保高效响应。
博客文章探讨了手动管理派生值(如全名)的复杂性,并介绍了计算属性(Computed)作为解决方案:通过computed函数创建惰性求值和缓存机制,自动追踪依赖,实现高效更新,确保响应式应用数据一致性。内部依赖追踪和Dirty标记进一步优化性能。
信号是响应式系统的基础数据存储单元,用于存储可变状态并自动通知所有依赖它的订阅者。通过 signal(initialValue) 创建信号,返回的函数可读取和写入信号值。读取操作在响应式上下文中自动追踪依赖,写入操作在值改变时通知订阅者。信号简化了数据变化的传递,是构建复杂动态应用的关键。
Vue响应式从defineProperty演进至Proxy,解决限制但默认深度响应有性能开销。为优化并支持Vapor Mode,Alien Signals引入信号原语、推拉机制和链表等,追求极致性能与细粒度追踪。