首页 > 其他分享 >目录结构分析

目录结构分析

时间:2023-10-01 16:23:12浏览次数:30  
标签:分析 core vue 编译 结构 runtime 目录 服务端 compiler

CORE
├─changelogs		// 更新日志
├─packages		// 源码和测试代码
│  ├─compiler-core		// 跨平台的框架
│  ├─compiler-dom 		// 浏览器端编译器
│  ├─compiler-sfc 		// .vue 文件解析器
│  ├─compiler-ssr 	  	// 服务端解析器
│  ├─dts-test			// 
│  ├─reactivity			// 响应式系统的实现
│  ├─reactivity-transform         // 提供响应性语法糖,听说已经被移除了,但在最新的包里面还可以看见
│  ├─runtime-core 		// 包含虚拟 DOM 渲染器、组件实现、全局的js API。
│  ├─runtime-dom  		// 对 原生DOM API、属性、样式、事件等管理。
│  ├─runtime-test 		// 用于测试 runtime-core 的轻量级运行时,仅适用于vue内部测试
│  ├─server-renderer	        // 服务端渲染的核心实现
│  ├─sfc-playground		// 与 template-explorer 类似,不仅包含 template 部分的编译,还包含了 script 与 style 部分的编译。
│  ├─shared			// 包含多个包共享的内部实用工具库
│  ├─template-explorer    	// 用于调试模板编译输出工具。
│  ├─vue  		        // vue完整包
│  └─vue-compat			// vue3 的构建版本,提供可配置的 vue2兼容行为。
└─scripts 		//编译构建代码

前期剖析源码较为重要的包:

  • compiler-core: Vue.js 是一个跨平台的框架,既可以在浏览器端编译,也可以在服务器端编译。compiler-core 包含所有与平台无关的代码转换插件
  • compiler-dom: 在浏览器端编译时,会使用 compiler-dom 提供的编译器,它是在 compiler-core 的基础上进行的封装。compiler-dom 包含了专门针对浏览器的代码转换插件
  • compiler-sfc: 用于实现 .vue 文件的解析,以及 template、script、style 的解析的相关代码都是由 compiler-sfc 模块实现的。
  • compiler-ssr: 在服务端编译时,会使用 compiler-ssr 提供的编译器。它是专门针对服务端渲染的转换插件。
  • runtime-core: 包含了与平台无关的运行时核心实现(vue核心代码),包括 虚拟DOM的渲染器、组件实现和一些全局的 JS API
  • runtime-dom: 基于 runtime-core 创建的以浏览器为目标的运行时,包括对原生 DOM API、属性、样式、事件等管理
  • reactivity: 包含响应式系统的实现,是 runtime-core 包的依赖,也可以作为与框架无关的包独立使用。
  • server-renderer: 包含服务端渲染的核心实现,是用户在使用 Vue.js 实现服务端渲染时所需要依赖的包。

标签:分析,core,vue,编译,结构,runtime,目录,服务端,compiler
From: https://www.cnblogs.com/yihuachen/p/17738951.html

相关文章

  • Go结构体深度探索:从基础到应用
    在Go语言中,结构体是核心的数据组织工具,提供了灵活的手段来处理复杂数据。本文深入探讨了结构体的定义、类型、字面量表示和使用方法,旨在为读者呈现Go结构体的全面视角。通过结构体,开发者可以实现更加模块化、高效的代码设计。这篇文章旨在为您提供关于结构体的深入理解,助您更好地......
  • 卡尔曼滤波器在实际工程中考虑的问题-------新息的分析
    一、本文重点本篇文章主要讨论的是什么可以称为卡尔曼滤波器工程的问题,该部分主要是根据卡尔曼滤波器在长期的应用和误用实践中发展出来的。本篇文章的参考内容来自《卡尔曼滤波理论和实践》,同时结合自己的项目开发挑出部分自己测试过程中经常调试的内容。如果有侵权请联系删......
  • 【洛谷 P1305】新二叉树 题解(结构体数组+先序遍历+二叉树)
    新二叉树题目描述输入一串二叉树,输出其前序遍历。输入格式第一行为二叉树的节点数。()后面行,每一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点必为根节点。空节点用*表示输出格式二叉树的前序遍历。样例#1样例输入#16abcbdicj*d**i**j**......
  • 分析商品/商家上的某类型文案好坏的思路
    问题定义每个商品/商家卡片,上面有几个文案候选可以展示,最终随机展示一个文案,每个文案有一个文案类型,现在想分析出某类型文案的好坏,分析出某类型文案对于用户展示的好坏,分析出哪类文案好哪类文案略差。问题难点如果直接用曝光点击日志的所有商品/商家的某类型点击总和除以......
  • 金融量化项目案例 -- 股票分析
    博客地址:https://www.cnblogs.com/zylyehuo/股票分析使用tushare包获取某股票的历史行情数据。输出该股票所有收盘比开盘上涨3%以上的日期。输出该股票所有开盘比前日收盘跌幅超过2%的日期。tushare财经数据接口包!pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn......
  • Go每日一库之157:tproxy (TCP连接代理与分析 )
    你有同感吗?当大家在开发服务端代码的时候,会不会经常有如下疑问?纳闷MySQL连接池到底有多少连接?每个连接的生命周期持续多久?连接异常断开的时候到底是服务端主动断的,还是客户端主动断的?当长时间没有请求的时候,底层库是否有KeepAlive请求?复杂网络情况的处理从来都是后端......
  • Go每日一库之155:go-spew(输出 Go 数据结构)
    对于应用的调试,我们经常会使用fmt.Println来输出关键变量的数据。或者使用log库,将数据以log的形式输出。对于基础数据类型,上面两种方法都可以比较方便地满足需求。对于一些结构体类型数据,通常我们可以先将其序列化后再输出。如果结构体中包含不可序列化的字段,比如func类型......
  • pandas -- 处理非数值型数据 -- 数据分析三剑客(核心)
    博客地址:https://www.cnblogs.com/zylyehuo/为什么学习pandasnumpy已经可以帮助我们进行数据的处理了,那么学习pandas的目的是什么呢?numpy能够帮助我们处理的是数值型的数据,当然在数据分析中除了数值型的数据还有好多其他类型的数据(字符串,时间序列),那么pandas就可以帮我们很好......
  • 线性系统与信号(三):采样、信号、状态空间分析
    连续时间信号分析①周期信号:傅里叶级数  连续时间信号分析②非周期信号:傅里叶积分  采样:从连续到离散的过渡  离散时间信号的傅里叶分析  状态空间分析......
  • 视频融合/安防视频监控平台EasyCVR智能视频分析引擎技术在轨道交通行业的应用
    随着城镇化的加速发展,轨道交通作为城市基础设施的重要组成部分,已成为各大城市建设的重中之重。然而,由于人流量大、人员复杂、空间相对封闭等因素,轨道交通也成了公共安全保障的一项重要工作。如何确保乘客的安全出行成为轨道交通运营和安全管理的首要任务。与此同时,随着人工智能技......