{"id":22213270,"url":"https://github.com/cloudhao1999/guide-mini-vue","last_synced_at":"2025-03-25T06:21:19.898Z","repository":{"id":65734221,"uuid":"596458571","full_name":"cloudhao1999/guide-mini-vue","owner":"cloudhao1999","description":"手把手带你构建自己的 Vue3，只有手写一遍，才能真正的掌握源码！！！实现 Vue3 中的核心三大模块：reactivity 响应式、runtime 运行时、compiler 编译","archived":false,"fork":false,"pushed_at":"2023-03-03T02:33:10.000Z","size":332,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-30T05:42:05.675Z","etag":null,"topics":["mini-vue","vue3"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudhao1999.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2023-02-02T08:21:54.000Z","updated_at":"2023-02-15T02:40:35.000Z","dependencies_parsed_at":"2023-02-19T15:45:20.187Z","dependency_job_id":null,"html_url":"https://github.com/cloudhao1999/guide-mini-vue","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudhao1999%2Fguide-mini-vue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudhao1999%2Fguide-mini-vue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudhao1999%2Fguide-mini-vue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudhao1999%2Fguide-mini-vue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudhao1999","download_url":"https://codeload.github.com/cloudhao1999/guide-mini-vue/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245408796,"owners_count":20610402,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mini-vue","vue3"],"created_at":"2024-12-02T21:09:14.212Z","updated_at":"2025-03-25T06:21:19.870Z","avatar_url":"https://github.com/cloudhao1999.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"### mini-vue 介绍\n\n\u003e 手把手带你构建自己的 Vue3，只有手写一遍，才能真正的掌握源码！！！实现 Vue3 中的核心三大模块：reactivity 响应式、runtime 运行时、compiler 编译\n\n### 当前进度\n\n- [x] 01-Vue3 源码结构的介绍 \n\n- [x] 02-reactivity 的核心流程\n\n- [x] 03-runtime-core 初始化的核心流程\n\n- [x] 04-runtime-core 更新的核心流程\n\n- [x] 05-setup 环境：集成 jest \u0026 ts\n\n- [x] 06-实现 effect \u0026 reactive 依赖收集\u0026触发依赖\n\n- [x] 07-实现 effect 返回 runner\n\n- [x] 08-实现 effect 的scheduler 功能\n\n- [x] 09-实现 effect 的 stop 功能\n\n- [x] 10-实现 readonly 功能\n\n- [x] 11-实现 isReactive 和 isReadonly\n\n- [x] 12-优化 stop 功能\n\n- [x] 13-实现 reactive 和 readonly 嵌套对象转换功能\n\n- [x] 14-实现 shallowReadonly 功能\n\n- [x] 15-实现 isProxy 功能\n\n- [x] 16-实现 ref 功能\n\n- [x] 17-实现 isRef 和 unRef 功能\n\n- [x] 18-实现 proxyRefs 功能\n\n- [x] 19-实现 computed 计算属性\n\n- [x] 20-实现初始化 component 主流程\n\n- [x] 21-使用 rollup 打包库\n\n- [x] 22-实现初始化 element 主流程\n\n- [x] 23-实现组件代理对象\n\n- [x] 24-实现 shapeFlags\n\n- [x] 25-实现注册事件功能\n\n- [x] 26-实现组件 props 功能\n\n- [x] 27-实现组件 emit 功能\n\n- [x] 28-实现组件 slots 功能\n\n- [x] 29-实现 Fragment 和 Text 类型节点\n\n- [x] 30-实现 getCurrentInstance\n\n- [x] 31-实现provide-inject 功能\n\n- [x] 32-实现自定义渲染器 custom renderer\n\n- [x] 33-更新element流程搭建\n\n- [x] 34-更新element 的 props\n\n- [x] 35-更新 element 的 children\n\n- [x] 36-更新 element 的 children - 双端对比diff 算法 （1）\n\n- [x] 37-更新 element 的 children - 双端对比diff 算法 （2）\n\n- [x] 38-更新 element 的 children - 双端对比diff 算法 （3）\n\n- [x] 39-学习尤大解决bug的处理方式\n\n- [x] 40-实现组件更新功能\n\n- [x] 41-实现 nextTick 功能\n\n- [x] 42-编译模块概述\n\n- [x] 43-实现解析插值功能\n\n- [x] 44-实现解析 element\n\n- [x] 45-实现解析 text 功能\n\n- [x] 46-实现解析三种联合类型\n\n- [x] 47-parse 的实现原理\n\n- [x] 48-实现 transform 功能\n\n- [x] 49-实现代码生成 string 类型\n\n- [x] 50-实现代码生成插值类型\n\n- [x] 51-实现代码生成三种联合类型\n\n- [x] 52-实现编译 template 成 render 函数\n\n- [x] 53-实现 monorepo\n\n- [x] 54-实现 watchEffect\n\n### 课程地址\n\n[Vue3 源码实战课 (cuixueshe.com)](https://learn.cuixueshe.com/p/t_pc/course_pc_detail/column/p_61fb595ce4b0beaee4275e1e)\n\n  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudhao1999%2Fguide-mini-vue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudhao1999%2Fguide-mini-vue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudhao1999%2Fguide-mini-vue/lists"}