Skip to content

Jiacheng787/mini-vue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mini-vue

该项目为自己手写的简易 Vue 框架,旨在研究学习 Vue 源码的基础上进行实践。

已实现的功能

  • 响应式机制
    • getter/setter 转换;
    • 访问数据时进行依赖收集
    • 修改数据时通知依赖更新;
  • 模板编译
    • 通过遍历 DOM 节点,实现对插值表达式、指令、事件等处理;
    • 如果要实现 Vue 单文件组件的效果,则需要构建 AST (现在实际上编译任务是交给浏览器了),还需要编写一个 vue-loader,因此暂时先不做;
    • 插值表达式现在只支持渲染文本,Vue 的插值表达式支持 JS 表达式,这个后期加上;
    • 指令支持 v-textv-htmlv-model
    • 事件是通过 addEventListener 实现绑定的,在 Vue 组件卸载后,事件也会自动解绑,因为现在没有实现生命周期,所以这个暂时做不了;

如何运行项目

项目模块化机制采用 ES6 Module,使用 Webpack 打包编译,并且已经配置了 devServer ,支持热更新,只需要一个命令即可启动:

$ npm run serve

About

⭐️ A simple Vue framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published