Vue 2 终版发布,版本号:Swan Song (绝唱)
12 月 24 日,Vue 2.7.16 正式发布,版本号为 Swan Song,意为绝唱。这是 Vue 2 的最后一个版本,该版本修复了一些已知问题。Vue 2 将于 2023 年 12 月 31 日到达生命周期终点。届时,Vue 官方将不再维护 Vue 2 版本,将把精力全部放在维护 Vue 3 上。本文就来看看 Vue 2 的发展历程以及 Vue 2 最后一个版本的更新内容!
Vue 2 发展历程
2016.10:Vue 2.0 发布,该版本带来了性能优化、渲染函数、服务端渲染和辅助库的升级等多个新特性和改进。它通过重写渲染层和智能优化处理,提高了性能,并且在开发模式上提供了更大的灵活性。支持服务端渲染和流式渲染,同时辅助库也得到了升级和支持。
2016.11:Vue 2.1 发布,该版本引入了作用域插槽,允许在子组件中传递数据给可重用的模板;
<keep-alive>
组件可以根据条件缓存组件;新增了v-else-if
指令用于条件性渲染;可以在v-bind
表达式中使用过滤器进行数据格式化;2017.2:Vue 2.2 发布,该版本在使用
v-for
和组件时需要提供 key 属性,模板解析器会对缺少闭合标签的标签报错,组件的props
和计算属性现在定义在组件原型上以提高性能,错误处理和全局错误拦截的改进,移除了一些不应公开的方法和属性,以及对 Webpack 2 的适配。新增功能包括服务器端渲染的改进、错误处理的改进、组件v-model
的自定义选项和provide
、inject
功能。2017.4:Vue 2.3 发布,该版本主要是服务器端渲染和组件方面的改进。服务器端渲染方面,现在使用
data-server-rendered
属性来表示服务器渲染的标记,并支持在模板中进行简单的插值。组件方面,异步组件工厂可以返回一个包含加载组件、加载中组件和加载失败组件的对象,而函数式组件可以省略props
选项并自动提取属性。这些改进提升了性能和灵活性。2017.7:Vue 2.4 发布,该版本包括完整的服务器端渲染和异步组件支持,不再限制在路由级别;更易于创建包装组件,通过
inheritAttrs
选项关闭默认属性继承行为;引入了$attrs
和$listeners
实例属性,方便获取父级作用域的属性和监听器。性能改进方面,通过优化SSR渲染函数代码,提高了原始SSR渲染性能;同时从npm模块中删除src
目录,减小了安装时的下载大小。2017.10:Vue 2.5 发布,该版本引入了新的错误处理钩子函数、改进了模板表达式错误消息和选项类型检查、提供更好的TypeScript类型声明支持。在函数式组件方面,优化了编译模板和添加了作用域CSS支持。服务器端渲染方面改进了渲染函数的返回类型、添加了预取选项、自动移除初始状态嵌入脚本等功能。
v-model
和v-on
方面增加了一些便利的修饰符和功能。2019.2:Vue 2.6 发布,该版本实现了新的v-slot语法、在函数式组件中添加了
scopedSlots
、为生命周期钩子和v-on
处理程序提供了同步和异步错误处理、支持动态指令参数、添加了Vue.observable()
方法用于创建可观察对象、在$scopedSlots
上暴露了所有普通插槽等。此外,还提到了对性能的改进和一些重要的内部变更。这些变化和改进增强了Vue的功能和性能,并提供了更好的开发体验。2022.7:Vue 2.7 发布,该版本主要是向下移植部分 Vue 3 的功能,引入了Composition API、SFC
<script setup>
和SFC CSSv-bind
等功能,同时支持了defineComponent()
、h()
、useSlot()
等API,并提供了改进的类型推断。此外,还支持了emits
选项用于类型检查,允许在模板表达式中使用ESNext语法。
Vue 2.7.16 更新日志
compiler-sfc: 检查模板引用的使用情况,
compiler-sfc: 修复了默认重写的边界情况
keep-alive: 修复了 keep-alive 内存泄漏问题
keep-alive: 修复了内存泄漏问题,同时不影响过渡测试。
props: 不应解构作为原始引用的 props
shallowReactive: 在 shallowReactive 中设置已经是响应式的值时应该跟踪该值。
style: 始终设置新的样式
types: 修复了 shallowRef 的返回类型
types: 修复了类型扩展和 compiler-sfc 类型 w/moduleResolution:bundler
types: 为内置组件提供类型
types: VNodeChildren 的类型应该允许数字类型
utils: 在模板中将引用解构时,将其转换为字符串
watch: 新属性的添加应该触发深层观察者的 getter
考虑嵌套渲染调用
types: 为了与 v3 对齐,导出更多的类型(JSX / 组件选项)。
lifecycle: 确保组件 effect 的作用域是独立的
相关阅读
【官方文档】Vue 3 迁移指南 :https://v3-migration.vuejs.org/zh/
往期推荐
前端新玩具来了,速度快的惊人🤩
Vue 2 即将结束支持,你需要注意这些!
2023 年 CSS 新特性大盘点
12 个超级实用的 CSS 技巧
Vitest 1.0 正式发布:Vue 团队打造的下一代测试框架!