如果你对此十分好奇的话,你可以通过克隆这个playground项目(确保检出new-types分支)并使用VSCode + Vetur打开它来尝试一下!
TypeScript用户可能需要的操作
TypeScript升级将在Vue 2.5中正式与大家见面,目前计划在10月初发布。我们正在发布一个小版本,因为JavaScript公共API没有任何突破性的变化,但是升级可能需要现有的TypeScript + Vue用户采取一些操作。这就是为什么我们现在宣布改变,以便你有足够的时间来规划升级。
- 新的typings需要至少是TypeScript 2.4版本,建议升级到最新版本的TypeScript以及Vue 2.5。
- 此前,我们已经建议在tsconfig.json每个地方都使用ES风格的imports(import Vue from ‘vue’)与“allowSyntheticDefaultImports”: true。新的typings将正式转换为ES风格的import/export语法,因此不再需要配置,用户在所有情况下都需要使用ES风格的import。
- 随着export语法变化,以下这些依赖于Vue core typing的核心类库都会接收到新的主要版本,并应与Vue core 2.5一起升级:vuex,vue-router,vuex-router-sync,vue-class-component。
- 执行自定义模块扩充时,用户现在应该使用interface VueConstructor而不是namespace Vue。(示例diff)
- 如果你将你的组件注释为 as ComponentOptions<Something> , computed,watch,render和生命周期钩子的thisType将需要手动输入注释
我们尽力减少升级所需的工作,这些类型的改进与vue-class-component中基于类的API兼容。对于大多数用户来说,只需升级依赖关系并切换到ES风格的导入即可。同时,我们还建议不要轻易升级,除非你做好准备了。
路线图:vue-cli中的TypeScript支持
2.5之后,我们计划在下一个版本的vue-cli中引入对TypeScript的官方支持,以便使TS + Vue用户更轻松地启动新项目。敬请关注!
对于非TypeScript用户
这些更改不会以任何负面的方式影响非TypeScript Vue用户; 根据公共JavaScript API,2.5将完全向后兼容,并且TypeScript CLI集成将完全是可选的。但是如上所述,如果你使用vue-language-server驱动的编辑器插件,你可能会注意到更好的自动完成提示。
-
感谢Daniel Rosenwasser,HerringtonDarkholme,Katashin和Pine Wu进行这些功能的工作,并审查了这篇文章。
via medium.com