• Vue3+TypeScript


    一、Vue3带来的变化(源码)

    源码通过monorepo的形式来管理源代码
    Mono:单个
    口Repo : repository仓库
    口主要是将许多项目的代码存储在同一个repository中;
    口这样做的目的是多个包本身相互独立,可以有自己的功能逻辑、单元测试等,同时又在同一个仓库下方便管理口而且模块划分的更加清晰,可维护性、可扩展性更强

    源码使用TypeScript来进行重写:
    口在Vue2.x的时候,Vue使用Flow来进行类型检测

    口在Vue3x的时候,Vue的源码全部使用TypeScript来进行重构,并且Vue本身对TypeScript支持也更好了;

    二、Vue3带来的变化(性能)

    使用Proxy进行数据劫持
    口在Vue2.x的时候,Vue2是使用Object.defineProperty来劫持数据的getter和setter方法的;

    口这种方式一致存在一个缺陷就是当给对象添加或者删除属性时,是无法劫持和监听的
    口所以在Vue2x的时候,不得不提供一些特殊的API,比如$set或$delete,事实上都是一些hack方法,也增加了开发者学习新的API的成本;
    口而在Vue3.x开始,Vue使用Proxy来实现数据的劫持,这个API的用法和相关的原理我也会在后续讲到;删除了一些不必要的API:
    口移除了实例上的$on,$off 和 $once ;
    口移除了一些特性:如filter、内联模板等;
    包括编译方面的优化:
    口生成Block Tree、Slot编译优化、diff算法优化

    三、Vue3带来的变化(新的API)

    由Options API到 Composition API :
    口在Vue2.x的时候,我们会通过Options API来描述组件对象;
    口Options API包括data、props、methods、computed、生命周期等等这些选项;
    口存在比较大的问题是多个逻辑可能是在不同的地方:

    √比如created中会使用某一个method来修改data的数据,代码的内聚性非常差;

    口Composition API可以将 相关联的代码 放到同一处进行处理,而不需要在多个Options之间寻找Hooks函数增加代码的复用性:
    口在Vue2.x的时候,我们通常通过mixins在多个组件之间共享逻辑;
    口但是有一个很大的缺陷就是 mixins也是由一大堆的Options组成的,并目多个mixins会存在命名冲突的问题

    口在Vue3.x中,我们可以通过Hook函数,来将一部分独立的逻辑抽取出去,并且它们还可以做到是响应式的;

    四、安装和使用Vue这个JavaScript库有哪些方式呢?

    1.CDN引入

    什么是CDN呢?CDN称之为内容分发网络(Content Delivery Network或Content Distribution Network,缩写:CDN)
    口它是指通过 相互连接的网络系统,利用最靠近每个用户的服务器
    口更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户口来提供高性能、可扩展性及低成本的网络内容传递给用户
    常用的CDN服务器可以大致分为两种
    CDN
    口自己的CDN服务器:需要购买自己的CDN服务器,目前阿里腾讯、亚马逊、Google等都可以购买CDN服务器口开源的CDN服务器:国际上使用比较多的是unpkgJSDelivr、cdnjs ;

    Vue的CDN引入:

  • 相关阅读:
    【微服务】Day03
    【机器学习300问】135、决策树算法ID3的局限性在哪儿?C4.5算法做出了怎样的改进?
    洛谷题解 | AT_abc321_c Primes on Interval
    JAVA IO模型BIO、NIO、AIO、Linux操作系统中文件句柄数的限制
    【Python】自定义pip安装路径
    深入JTS事务引擎:理论与实践相结合,掌握高效事务管理的秘诀
    树选择排序(Tree Selection Sorting)介绍
    websocket 初识
    2023-11-16 精神分析-企业主的土皇帝做法-分析
    YoloV8 +可视化界面+GUI+交互式界面目标检测与跟踪
  • 原文地址:https://blog.csdn.net/m0_71735156/article/details/133690851