猿创征文 | 《深入浅出Vue.js》打卡Day5

第12章 架构设计与项目结构

这篇文章带你从宏观的角度了解它内部的运行原理,以下是Vue源码的目录结构,下图目录可能跟源码目录有点差距,但也是八九不离十。

12.1 目录结构

在这里插入图片描述
src/core 目录是Vue.js的核心代码,这部分代码逻辑是与平台无关的,也就是说,它们可以在任何JavaScript环境下运行,比如浏览器、Node.js或者嵌入在原生应用中。

完整版:构建后的文件同时包含编译器运行时
编译器:负责将模板字符串编译成JavaScript渲染函数;
开发环境下使用未压缩的代码,生存环境下使用压缩后的代码。

12.2 架构设计

Vue.js的整体结构,分为三个部分:核心代码(全局API、prototype、构造函数)跨平台相关(更多的是渲染相关的功能)公用工具函数(这部分是一些辅助函数,不再单独介绍)
在这里插入图片描述

  • 其中架构是分层的,最底层是一个普通的构造函数,最上层是一个入口,也就是将一个完整的构造函数导出给用户使用;
  • 最顶层是入口,也可以叫做出口。对于构建工具和Vue.js的使用者来说,这是入口;对于Vue.js自身来说,这是出口。

我们把上图”程序结构“ 用另外一种表现形式来展示,更清楚的了解它的架构设计,如下图所示:
在这里插入图片描述
不同平台有不同的人口,有一些特定于平台的代码会加载到这部分,而底层的核心代码是通用的,可以在任何平台下运行。这里以构建Web平台下运行的文件为例,如果我们构建的是完整版本,那么会选择 Web平台的人口文件开始构建,这个入口文件最终会导出一个vue构造函数。在导出之前,会向 Vue构造函数中添加一些方法,其流程是:先向vue构造函数的prototype属性上添加一些方法,然后向vue构造函数自身添加一些全局API,接着将平台特有的代码导入进来,最后将编译器导入进来。最终将所有代码同vue构造函数一起导出去。

第13章 实例方法与全局API的实现原理

上一章知道了Vue.js内部的整体结构,知道了在导出vue构造函数之前会添加一些属性和方法,这篇就来介绍vue构造函数添加的实例方法全局API

13.1 实例方法

其中定义了vue构造函数,然后分别调用了initMixin、stateMixin、 eventsMixin、lifecycleMixin和renderMixin这5个函数,并将vue构造函数当作参数传给了这5个函数。
在这里插入图片描述

13.2 全局API

在这里插入图片描述

想要了解更详细还得要看书,书中自有黄金屋,书中自有颜如玉

在这里插入图片描述

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

*neverGiveUp*

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值