Vue 2.5 发布了

来源:互联网 发布:linux查看端口 编辑:程序博客网 时间:2024/06/11 08:38

我们很高兴宣布Vue 2.5 Level E 的发布!本次发布包括多个功能提升并且我们推荐你查看发布说明来获取完整详细信息。在这篇文章中,我们将重点介绍一些更重要的变化:更好的TypeScript集成,更好的错误处理,更好地支持单文件组件中的函数式组件以及与环境无关的服务端渲染。

更好的TypeScript集成

得益于TypeScript团队的帮助,2.5提供了大大改进的类型声明,可以与Vue的开箱即用的API一起使用,而不需要组件类装饰器。新的类型声明还可以让Vetur等编辑器扩展功能更强大,为纯JavaScript用户提供更好的Intellisense支持。更多详细信息,请查产我们之前关于更改的信息(翻译版本)。

感谢来自 TypeScript 团队的 Daniel Rosenwasser 发起的PR,以及核心团队成员 Herrington Darkholme和 Katashin 的改进和审查。

注意:TypeScript 用户还应将以下包更新为最新版本从而兼容类型声明:vue-router,vuex,vuex-router-sync 和vue-class-component。

更好地错误处理

在2.4及更早版本中,我们通常使用全局config.errorHandleroption来处理应用程序中的意外错误。我们还有renderError组件选项来处理渲染函数中的错误。但是,我们缺少处理应用程序特定部分内的泛型错误的机制。

在2.5中,我们引入可让新的errorCaptured钩子。具有次钩子的组件捕获其子组件树(不包括其自身)中所有错误(不包括在异步回调中调用的那些)。如果你熟悉React,这与React 16中引入的错误边界的概念相似。钩子接收与全局errorHandler相同的参数,你可以利用这个钩子来优雅地处理和显示错误。

更好的支持SFC的函数式组件
这里写图片描述

使用vue-loader>=13.3.0和vue2.5,在 *.vue文件中定义为单个文件组件的函数式组件现在可以得到正确的模板编译,Scoped CSS和热重新加载支持。这使得将叶子组件转换为函数式的更为容易,从而进行性能优化。

与环境无关的服务端渲染

vue-server-render的默认构建假定一个Node.js环境,这使得它在有的JavaScript运行时(如php-v8j或Nashorn)中不可用。在2.5中,我们已经发布了一个与环境无关的vue-server-renderer版本,可以在浏览器或纯JavaScript引擎中使用。这可以打开有趣的策略,例如直接在PHP进程中使用Vue服务端渲染。

同样,我们建议你查看完整的发布说明从而了解其他API的改进,包括v-on,v-model,scoped slot,provide/inject等。你可以也对我们的公共蓝图感兴趣。

原创粉丝点击