用用Vue开发小程序的框架开发小程序的框架
在尤大微博铺垫着“将会引入一些关于 TypeScript 的改进”一周之后,代号为 Level E 的 Vue.js 2.5 带着日漫风来到了我们眼
前。从 Release Notes 可以看到,Vue.js 2.5 有着更好的 TypeScript 集成,更好的错误处理,更好地支持单文件组件中的函
数式组件以及与环境无关的服务端渲染。具体如下:
更好的 TypeScript 集成
得益于 TypeScript 团队的帮助,2.5 提供了大大改进的类型声明:
使用默认的 Vue API 时,对于 this 可以使用适当的类型推断。 它也可以在单文件组件中工作!
基于组件的 props 选项,对于 this 中的 props 输入推断。
最重要的是,这些改进也使得纯这些改进也使得纯 JavaScript 用户受益匪浅!用户受益匪浅! 如果你使用 VSCode 与超级棒的的 Vetur 扩展,你将获得
大大改进的自动完成建议,甚至在Vue组件中使用纯 JavaScript 时也能获得输入提示! 这是因为vue-language-server是
负责分析 Vue 组件的内部包,可以利用 TypeScript 编译器来提取有关你的代码的更多信息。 此外,任何支持语言服务
器协议的编辑器都可以利用 vue-language-server来提供类似的功能。
注意:TypeScript 用户还应将以下包更新为最新版本从而兼容类型声明:vue-router,vuex,vuex-router-sync 和 vue-class-
component。
更好地错误处理
在 2.4 及更早版本中,我们通常使用全局 config.errorHandleroption 来处理应用程序中的意外错误。 我们还有 renderError 组
件选项来处理渲染函数中的错误。 但是,我们缺少处理应用程序特定部分内的泛型错误的机制。
在2.5中,我们引入了新的 errorCaptured 钩子。 具有此钩子的组件捕获其子组件树(不包括其自身)中的所有错误(不包括
在异步回调中调用的那些)。 如果你熟悉 React,这与 React 16 中引入的错误边界的概念相似。钩子接收与全局
errorHandler 相同的参数,你可以利用这个 钩子(https:// gist.github.com/yyx990803/ 9bdff05e5468a60ced06c29c39114c6b
#error-handling-with-errorcaptured-hook)来优雅地处理和显示错误。
更好地支持 SFC 中的函数式组件