首页
学习
活动
专区
圈层
工具
发布

盘点下Vue.js 3.0.0 那些让人激动的功能

(图片来源于网络) 以下是Vue.js 3.0.0 中的新功能: 允许使用基于函数的方式编写组件 虚拟DOM重写可提高性能并改善TypeScript支持 原生门户 Fragments 片段(不会在DOM...代码优化(Tree-shaking) 在Vue.js 3.0.0中,提供了“摇树”支持,即通过"摇"我们的JS文件,将其中用不到的代码"摇"掉。 ?...(图片来源于网络) 具体来说,在 webpack 项目中,有一个入口文件,相当于一棵树的主干,入口文件有很多依赖的模块,相当于树枝。在实际情况中,虽然依赖了某个模块,但其实只使用其中的某些功能。...“摇树”的出现,允许一个包括了所有运行时功能的项目大小可缩至22.5kb。这意味着即使增加了更多功能,Vue 3.0.0仍然比任何2.x版本都轻盈。...当前Vue 3.0.0的版本状态 根据GitHub上该项目的发布计划,Vue 3.0.0版的正式发布计划定于2020年第一季度。目前来看进度是有一些延迟。

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    简单介绍一下我在做的图形编辑器

    技术栈 React + pnpm + TypeScript + Canvas 2D + husky。 TypeScript 是必须的,因为这是一个复杂项目,现在已经有点复杂了,以后会更复杂。...介绍一个小技巧,选中变量按 F2 改名字,项目中所有用到这个变量的地方都会被同步修改,实属重构变量名的利器,前提你得是 TypeScript 而不是 JavaScript。...没有使用流行的图形库,比如 pixijs、konva 这些,我只是简单封装了一些图形对象,比如 sence/rect,自己实现了一个图形场景树。...更新图形的时候,会遍历图形树,将所有图形 全量重绘,所以图形多的时候性能差。优化没做太多,只做了剔除的方案:视口外的图形不绘制。...相关阅读, 图形编辑器开发:最基础但却复杂的选择工具 图形编辑器:历史记录设计 图形编辑器开发:模块间如何通信? 图形编辑器:工具管理和切换 图形编辑器:底层设计 图形编辑器:防误操作之拖拽阻塞

    57530

    如何构建一个在线绘图工具:Feakin 是如何设计与构建的?

    分析了它们的大致实现,以及部分的源码: Graphviz AT&A 实验室的作品,作为最古老的图形即代码的工具,它还提供了一个图形描述语言:Dot,可以直接将代码转换为图形。...MaxGraph MaxGraph 是 Draw.io 底层的 mxGraph 的 TypeScript 实现,最开始研究时,是为了导入 Draw.io 生成的图。...于是乎,需要寻找一个合理的绘制引擎,诸如于 Raphaël、Fabric、Konva 等。最后,选择了 Konva,因为它支持了 React 框架。...我们需要将上述的信息,再次转换到 Konva 的模型中。而其中会存在一些差距,比如 Konva 使用 Polygon(多边型)来表示Triangle(三角型)、Diamond(菱形)等。...大体是关于如何使用 Rope 模型来管理 AST(抽象语法树),以及如何管理多人协作的状态问题。

    1.9K30

    JeecgUniapp全新版本3.0发布,采用uniapp+vue3最新架构

    项目介绍JeecgUniapp 是JeecgBoot低代码平台的配套APP移动框架,项目采用 Uniapp、Vue3.0、Vite、 Wot-design-uni、TypeScript 等最新技术栈,包括二次封装组件...当前版本:v3.0.0 | 2025-03-10源码下载APP源码下载https://github.com/jeecgboot/JeecgUniapp后台源码下载https://github.com/jeecgboot.../JeecgBoot前端技术栈前端 IDE 建议:Vscode、HBuilderX、Intellij IDEA最新技术栈:Uniapp + Vue3.0 + Vite + TypeScript + Wot-design-uni...支持 不支持 支持 TS,提供类型提示 基础组件封装 较少 封装丰富组件(用户、部门、分类字典树、...自定义树、popup、popupDict、导航组件等)代码片段快捷创建无 支持 v3 快速创建页面片段 新版特点一份代码多终端适配

    32810

    尤雨溪自述:打造Vue 3.0背后的故事

    这里面最值得一提的就是 Proxy ,它为框架提供了拦截针对对象的操作的能力。Vue 的一项核心特性就是监听用户定义状态的变化,并响应式更新 DOM。...另外,虽然 Vue 2 技术上支持构建以非 DOM 平台为目标的高级渲染器,但为了实现这一支持,我们需要 fork 代码库,还得复制一大堆代码。...转向 TypeScript Vue 2 最初是用纯粹的 ES 编写的。原型阶段开始后不久,我们意识到对于这么大规模的项目来说,类型系统会非常有用。...缩小包体积 框架的大小也会影响其性能。这是 Web 应用程序特有的现象,因为资产需要在线下载,而应用需要等到浏览器解析完必要的 JavaScript 代码后才能开始交互。...对于这种类型的项目,TypeScript 这样的类型系统和可以提供组织清晰、易于复用的代码的能力是必不可少的,但 Vue 2 在这些方面的支持水平不甚理想。

    1K30

    Vue 3.0 — One Piece 发布

    新的架构提供了更好的可维护性,并允许终端用户通过树形摇动来减少多达一半的运行时大小。 这些模块还暴露了低级别的API,解锁了许多高级用例。...它可以与其他模板解决方案(如 lit-html)配对使用,甚至在非 UI 场景中使用。 用于解决规模问题的新API 在Vue 3中,基于对象的2.x API基本没有变化。...性能改进 Vue 3在捆绑大小(树形摇动时轻了41%)、初始渲染(快了55%)、更新(快了133%)和内存使用(少了54%)等方面都比Vue 2有显著的性能提升。...改进的TypeScript集成 Vue 3的代码库是用TypeScript编写的,自动生成、测试和捆绑类型定义,因此它们总是最新的。组成API与类型推理一起工作。...我们也鼓励库作者开始升级您的项目以支持Vue 3。 查看Vue 3库指南,了解所有框架子项目的详细信息。

    1.3K20

    旧项目TypeScript改造问题与解决方案记

    概述 由于本次改造的项目为一个通过NPM进行发布的基础服务包,因此本次采用TypeScript进行改造的目标是移除Babel全家桶,减小包体积,同时增加强类型约束从而避免今后开发时可能的问题。...在JavaScript项目中的jsconfig.json同理。 TypeScript相关 对象属性赋值报错 在JavaScript中,我们经常会声明一个空对象,然后再给这个属性进行赋值。...在TypeScript中,有多重不同的导出方式,不同的导出方式也对应着不同的引用方式。 目前我在项目改造中,遇到的模块有这么几种方式: 1. CMD规范。 2..../constant'; // ES2015 Module规范 如果你引入的文件是一个非TypeScript而是JavaScript文件时,你可能还需要增加声明文件。...## TypeScript局部替换 在进行重构改造的时候,我们在最开始可能只能逐个模块进行替换。我们需要新的TypeScript文件和旧的JavaScript文件能够和平共存进行编译运行。

    5.5K10

    Angular 11正式发布:加入webpack 5,升级至TS 4.0,不再支持IE 9 和10

    此版本中将不再支持 TypeScript 3.9,开发者需要升级至 TypeScript 4.0;在 Angular 10 中,已经弃用 IE 9、10 和 IE mobile 支持,此次 v11 版本中将完全删除...现在,语言服务将能够像 TypeScript 编译器一样,正确地推断模板中的泛型类型。例如,在下面的屏幕截图中,我们可以推断出迭代器的类型为字符串。...TypeScript v4.0 的编译速度加快了。 实验性 Webpack 5 支持 现在,团队可以选择加入 Webpack v5 了。当前,你可以使用模块联邦这一实验特性。...将来,webpack v5 会带来: 持久磁盘缓存,以加快构建速度 cjs 摇树,减小包体积 这一支持是实验性的,并且正在开发中,因此我们不建议你将其用于生产用途。 想试用 webpack5 吗?...现在,TSLint 的项目创建者已经弃用它了,并建议大家迁移到 ESLint。

    4.3K30

    Vue 3.0 升级指南

    随后确定了早期实现的方式(class, TypeScript, hooks, time slicing)以及建立了RFC(Request for Comments,征求意见)流程。...Vue 3.0 带来了以下主要新特性 更易维护 TypeScript + 内部模块化 更快 通过Proxy实现响应 新的虚拟Dom实现 更小 引入Tree-sharking(摇树)机制 更好的代码组织结构...盘点下Vue.js 3.0.0 那些让人激动的功能》去详细了解。而在这篇文章中,我们一起看下如何升级现有项目来享受这些新特性,让我们现在就开始吧。...以上只是Vue官方组件的一些升级,如果项目中使用第三方组件,升级时也要注意组件是否支持3.0。...目前建议稳定的项目不要急于升级到3.0,Vue 2后续还会有长期的维护并且提供2.7版本,官方后续也会提供兼容的方案。如果是新项目或者实验性的项目,可以升级Vue 3.0,开始享受新特性。

    1.9K20

    Vuejs 3.0 正式版发布!One Piece. 代号:海贼王

    以下为 Vuejs Release 3.0 机器翻译文章,原文 v3.0.0 One Piece。...“https://github.com/vuejs/vue-next/releases/tag/v3.0.0 ” # Vue 3.0 发布 今天,我们很荣幸地宣布 Vue.js 3.0“One Piece...它可以与其他模板解决方案 (如 lit-html 配对使用,甚至在非 UI 场景中使用。 ## 解决规模问题的新 API 在 Vue 3 中,基于对象的 2.x API 基本没有变化。...### 改进的 TypeScript 集成 Vue 3 的代码库是用 TypeScript 编写的,具有自动生成,测试和捆绑的类型定义,因此它们始终是最新的。...我们还鼓励图书馆作者开始升级您的项目以支持 Vue 3。 请查阅 Vue 3 工具库指南以获取有关所有框架子项目的详细信息。

    3.2K10

    cdk8s - 使用编程语言定义 Kubernetes 应用

    cdk8s 是 AWS Labs 发布的一个使用 TypeScript 编写的新框架,它允许我们使用一些面向对象的编程语言来定义 Kubernetes 的资源清单,cdk8s 最终也是生成原生的 Kubernetes...定义的 Kubernetes 应用就是一颗结构树,树的根是一个 App 结构,在应用程序中,我们可以定义任意数量的图表(charts,类似于 Helm Chart 模板),每个图表都会被合并到一个单独的...virtualenvs/hello-ndJXVB8W/lib/python3.7/site-packages (0.19.0) Requirement already satisfied: constructs3.0.0...上面我们使用 cdk8s init 命令初始化的项目定义了单个空的图表。...使用 cdk8simport 命令可以将这些结构导入到项目中,然后我们就可以在项目目录的 imports/k8s 模块下面找到它们。

    1.3K30

    初识 Vue

    在这个基础之上,我们即将进入当今前端最火热的框架Vue的探索之旅。Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。...最初它不过是个人项目,时至今日,已成为全世界三大前端框架之一,github 上拥有 15 万 Star 领先于 React 和 Angular,在国内更是首选。...2019.02.05,Vue 发布了 2.6.0 ,这是一个承前启后的版本,在它之后,将推出 3.0.0。...Vue 3.0 是非常大的重构,源码使用 TypeScript 重写,目前的代码 98% 以上使用 TypeScript 编写。...Vue 3.0Vue3相对于Vue2的改变体现在源码、性能和语法API这三个方面1.源码优化更好的代码管理方式:monorepo使用typescript重写Vue3,对类型系统更好的支持2.性能优化源码体积的减少

    45630

    Vue.js的发展史(一)

    这种灵活性使得Vue可以轻松地与其他库或已有项目集成。(自底向上逐层应用) 2.响应式数据绑定:Vue的核心库只关注视图层,它采用简洁的模板语法,将已编译的模板与Vue实例的响应式数据绑定在一起。...Vue2是目前广泛应用的稳定版本,在许多项目中使用。 Vue3:Vue.js的最新版本,也称为Vue 3.x。它在Vue 2.x的基础上进行了重构和升级,引入了许多新特性和改进。...更好的 TypeScript 支持:Vue.js 3.x 提供了更好的 TypeScript 支持,使开发人员能够更容易地使用 TypeScript 编写 Vue 应用程序。...更小的打包体积:通过优化和树摇动(tree shaking),Vue.js 3.x 能够生成更小的打包体积,减少应用程序的加载时间。

    53100

    TypeScript 之父简介:TS Anders Hejlsberg: Introducing TypeScript参考资料TypeScript入门指南(JavaScript的超集)

    TypeScript是微软的开源项目,它是由C#之父Anders Hejlsberg发起的。 为什么会有 TypeScript?...核心TypeScript编译器 语法分析器(Parser): 以一系列原文件开始, 根据语言的语法, 生成抽象语法树(AST) 联合器(Binder): 使用一个Symbol将针对相同结构的声明联合在一起...数据结构 Node: 抽象语法树(AST)的基本组成块。通常Node表示语言语法里的非终结符;一些终结符保存在语法树里比如标识符和字面量。 SourceFile: 给定源文件的AST。...语法分析器(Parser)生成抽象语法树(AST)Node. 这些仅为用户输出的抽象表现,以树的形式。...商业转载请联系作者获得授权,非商业转载请注明出处。

    2.4K20
    领券