vue2.0源码解读一

86 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情

一、vue2.0源码中各个文件夹内容

image.png

(一)compiler 编译模块内容

  • vue使用字符串作为模板
  • 在compiler编译文件夹中存放对模板字符串解析的算法,如抽象语法树、优化等

image.png

(二)core 核心

  • vue构造函数,生命周期鞥方法的部分

image.png

(三)platforms平台

  • 该文件夹的作用是:针对运行的环境(设备)的不同实现
  • 同时也是vue的入口

(四)server 服务端

  • 将vue用在服务器端的处理代码

(五)sfc

  • 单文件组件,一般结合脚手架使用

(六)shared 公共文件

  • 公共工具、方法

二、shared文件夹

(一)constants.js

  • 定义了一些常量,例如LIFECYCLE_HOOKS:定义了有哪些生命周期函数

image.png

(二)utils.js

  • 定义了一些工具方法
  • isUndef:判断传入的参数是为undefined或null
  • isDef: 与isUndef方法的作用相反
  • isTrue:判读传入的参数是否为真
  • isFalse:判读传入的参数是否为假
  • isPrimitive:判读传入的参数是否为基本类型
  • isObject:判读传入的参数是否为对象类型
  • toRawType:将传入的参数转为原始字符串
  • isPlainObjectisRegExp都是对类型的判断
  • makeMap:生成一个带有缓存的函数,用于判读数据是否是缓存中的数据,代表判断字符串(标签名)是否为内置的HTML标签
  • cached:生成带有缓存的函数,常用于验证闭包
  • hyphenateRE:将传入的参数转为驼峰字符串
  • once:让传入的事件只能执行一次(利用闭包实现)

image.png

image.png