Skip to content

sunshineLixun/mini-vue3

Repository files navigation

mini-vue3

Simplified Vue3 Implementation:

To start the project demo: Locate the corresponding directory and use liveServer to launch the HTML file in the "dist" directory.

reactivity

  • reactivity
  • nested reactive
  • readonly
  • effect
  • effect.scheduler
  • effect.stop
  • computed
  • watch
  • watchEffect
  • Implementation of the onCleanup callback for watch and watchEffect
  • track
  • trigger
  • isReactive
  • isReadonly
  • isProxy
  • toRaw
  • ref
  • effectScope
  • Asynchronous update/batch processing with queueJobb

runtime-core

  • Implementation of the h function
  • Implementation of createVNode
  • Implementation of the renderer function
  • Initial mounting of elements
  • patchElement (regular tag elements, components, text nodes, comments, fragments)
  • diff
  • Mounting and update process of components
  • nextTick
  • Implementation of component setup, props, attrs, emit, expose
  • Support for Vue2-style component data() {}
  • Implementation of component instance properties: $el, $data, $proxy, $slots
  • provide
  • inject

runtime-dom

  • DOM manipulation implementation
  • event
  • class
  • style
  • props
  • attrs

compiler-dom

  • AST

vitest

About

Implementation of a simplified version of Vue3

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published