[译]Vue 2.5 发布了

原文:Vue 2.5 releasedphp

译者:neal1991html

welcome to star my articles-translator , providing you advanced articles translation. Any suggestion, please issue or contact mevue

LICENSE: MITreact

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

更好的 TypeScript 集成

clipboard.png

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

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

注意:TypeScript 用户还应将如下包更新为最新版本从而兼容类型声明:vue-routervuexvuex-router-syncvue-class-componentvuex

更好地错误处理

clipboard.png

在2.4及更早版本中,咱们一般使用全局 config.errorHandleroption 来处理应用程序中的意外错误。 咱们还有renderError 组件选项来处理渲染函数中的错误。 可是,咱们缺乏处理应用程序特定部份内的泛型错误的机制。typescript

在2.5中,咱们引入了新的 errorCaptured 钩子。 具备此钩子的组件捕获其子组件树(不包括其自身)中的全部错误(不包括在异步回调中调用的那些)。 若是你熟悉React,这与 React 16 中引入的错误边界的概念类似。钩子接收与全局 errorHandler 相同的参数,你能够利用这个钩子来优雅地处理和显示错误segmentfault

更好地支持 SFC 中的函数式组件

clipboard.png

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

*感谢核心团队成员Blake Newman 对于这些功能作出的贡献。

与环境无关的服务端渲染

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

一样,咱们建议你查看完整的发布说明从而了解其余 API 的改进,包括 v-onv-modelscoped slotprovide/inject 等。 你可能也对咱们的公共蓝图感兴趣,详细说明了团队的工做。 干杯!

相关文章
相关标签/搜索