💚
Vue
从模板语法与组合式 API 到手写响应式系统、Pinia、Vue Router 与 Nuxt,吃透 Vue 3。
- 01Vue 是什么从命令式 DOM 同步的痛点出发,理解 Vue 的「响应式 + 模板编译」双引擎设计,以及它与 React 在心智模型上的根本分歧
- 02模板语法与渲染插值、指令、修饰符与 v-for 的 key,以及模板到底被编译器编译成了什么——PatchFlag 与静态提升
- 03组件与 propsSFC 结构、defineProps/defineEmits/defineSlots 的类型化写法、插槽与透传属性,以及组件契约设计
- 04响应式状态与事件ref 与 reactive 的选择、为什么需要 .value、解构丢失响应性的情形,以及事件处理与异步批量更新
- 05计算属性与侦听器computed 的惰性缓存机制、watch 与 watchEffect 的取舍、深浅侦听与清理回调,以及大多数时候你不需要 watch
- 06生命周期与 nextTick组合式 API 的生命周期钩子、父子挂载卸载顺序、异步更新队列与 pre/render/post 刷新时机
- 07响应式原理:Proxy、依赖收集与 effect手写 reactive 与 effect,弄清 targetMap 的三层结构、嵌套 effect 栈、依赖清理与 stop
- 08组合式函数用 composable 抽取可复用逻辑、命名与返回值约定、effectScope 统一销毁,以及和 mixin / 自定义 Hook 的区别
- 09模板引用与响应式工具模板 ref、shallowRef / markRaw / customRef / toRef 等响应式工具,以及它们分别解决的「大对象性能」「跳过代理」「自定义 getter/setter」问题
- 10表单与 v-modelv-model 的双向绑定本质、修饰符(.lazy/.number/.trim)、在组件上自定义 v-model(defineModel),以及多选/单选/下拉的惯用法
- 11provide / inject 跨层级状态用 provide/inject 跨越多层组件传递数据(避免 props 透传),类型安全的 InjectionKey,以及「提供响应式状态」与「只读暴露」的实践
- 12Pinia 与状态管理为什么需要状态管理、Pinia 的 defineStore(setup / options 两种写法)、state/getters/actions、$patch/$subscribe,以及用「自包含迷你 Pinia」手搓核心机制
- 13性能优化computed 的缓存vs方法、v-once/v-memo、稳定的 key、大对象用 shallowRef/markRaw,以及用迷你响应系统证明「computed 只在依赖变时才重算」
- 14异步组件与代码分割defineAsyncComponent、加载/错误/超时态、Suspense、路由懒加载,以及它们如何借助打包工具把首屏体积拆成多个 chunk
- 15错误处理全局错误捕获 app.config.errorHandler、组件级 onErrorCaptured、和 React 错误边界的对比,以及异步/watch 错误的坑
- 16数据请求手写 fetch composable 与 TanStack Query(Vue Query)的 useQuery,缓存/重试/竞态/loading-error 状态管理
- 17Vue Router路由配置、动态/嵌套/命名路由、编程式导航,以及用手写「匹配器」和「导航守卫流水线」理解路由内核
- 18过渡与动画Transition 的 6 个 CSS 类名、TransitionGroup 列表过渡、JS 钩子,以及和动画库的配合
- 19SSR 与 Nuxt服务端渲染的原理与收益、createSSRApp + renderToString、 hydration、SSR 下的坑,以及 Nuxt 这个元框架帮你做了什么
- 20项目实战 TodoMVC用前面学到的 ref/reactive/computed/组合式函数,从零实现一个 TodoMVC,并在 Playground 里手搓一个带过滤与统计的迷你 Todo store
- 21Vue 开发生态 npm 包分类列举 Vue 开发生态的主流 npm 包(路由/状态/数据/组合式/UI/SSR/构建/表单/测试/类型/Lint/i18n/可视化),并附 React 生态对照表