将TypeScript 1.8.10升级到3.1.6

时间:2018-11-30 10:31:57

标签: typescript typescript1.8 azure-devops-extensions typescript3.0

我有一个基于打字稿1.8.10构建的VSTS扩展。我想将其升级到最新的打字稿3.1.6。 我可以通过发出npm我typescript@3.1.6 --save-dev来做到这一点。 但是,这样做之后,我从* .d.ts文件中收到了许多错误。主要来自tockout.d.ts和node.d.ts。我在下面尝试过:

  • 手动更新类型定义
  • 重新安装所有节点模块

错误如下所示:

[15:45:28]使用tsc版本3.1.6编译TypeScript文件

[15:45:37] [tsc]>定义/knockout.d.ts(10,2):错误TS2411:类型为'(valueToWrite ?: T,event ?: string)的属性'notifySubscribers'=>无效”不能分配给字符串索引类型“ KnockoutBindingHandler”。

[15:45:37] [tsc]>定义/knockout.d.ts(20,2):错误TS2411:类型为'(a:any,b:any)=>布尔值'的属性'equalityComparer'不能分配给字符串索引类型'KnockoutBindingHandler'。

[15:45:37] [tsc]>定义/knockout.d.ts(25,5):错误TS2411:类型'(searchElement:T,fromIndex ?: number)=> number的属性'indexOf' '不能分配给字符串索引类型'KnockoutBindingHandler'。

[15:45:37] [tsc]>定义/knockout.d.ts(26,5):错误TS2411:类型为'(开始:数字,结束?:数字)的属性'切片'=> T []'不能分配给字符串索引类型'KnockoutBindingHandler'。

到目前为止,似乎一切都没有。感谢有人可以指导我。

谢谢。

1 个答案:

答案 0 :(得分:0)

所以我能够解决这个问题。

第一件事是“ vss-web-extension-sdk”当时不支持TS 3.0。

所以我不得不改用TS 2.9.2。 另一件事是我更改了所有以前的参考文献,例如

///<reference path="../definitions/Q.d.ts" />

/// <reference type="Q" />

这些解决了大多数错误。