我最近更新了VS2017,我看到很多打字稿构建错误。
错误都是一样的,都与d.ts文件的有效性有关。
这是d.ts文件中导致打字稿编译错误的一些代码(TS2411):
interface JQueryAjaxSettings {
}
interface DataSourceTransportCreate extends JQueryAjaxSettings {
cache?: boolean;
contentType?: string;
data?: any;
dataType?: string;
type?: string;
url?: any;
}
interface DataSourceTransport {
create?: DataSourceTransportCreate;
destroy?: DataSourceTransportDestroy;
push?: Function;
read?: DataSourceTransportRead;
signalr?: DataSourceTransportSignalr;
update?: DataSourceTransportUpdate;
parameterMap?(data: DataSourceTransportParameterMapData, type: string): any;
}
interface DataSourceTransportOptions {
success: (data?: any) => void;
error: (error?: any) => void;
data: any;
}
interface DataSourceTransportWithFunctionOperations extends DataSourceTransport {
create?: (options: DataSourceTransportOptions) => void;
destroy?: (options: DataSourceTransportOptions) => void;
read?: (options: DataSourceTransportReadOptions) => void;
update?: (options: DataSourceTransportOptions) => void;
}
错误是:
TS2430(TS)接口'DataSourceTransportWithFunctionOperations' 错误地扩展了接口'DataSourceTransport'。种类 属性'create'不兼容。 输入'(options:DataSourceTransportOptions)=> void'没有与'DataSourceTransportCreate'类型相同的属性。脚本 (tsconfig 项目)C:\ Users **** \ typings \ kendo \ kendo.all.d.ts 1202 Active“
对于许多其他属性重复此错误。
我的问题是 - 这个定义有效吗?是否有一些变化会导致它突然失效(即在VS中显示为构建错误)?
答案 0 :(得分:1)
不,该定义无效。 DataSourceTransportWithFunctionOperations
覆盖create(options: DataSourceTransportOptions): void
与基础create: DataSourceTransportCreate
不兼容,而 {
using (WebClient client = new WebClient())
{
// string Test = "By logging on you can Ask the our experts your questions by email....";
string Test;
string url = "https://sampleweb.com";
string content = client.DownloadString(url);
if (content.Contains("XYZ"))
{
Console.WriteLine("Expected Text found here: ");
}
else
{
Console.WriteLine("Expected Text NOT found here: ");
}
Console.WriteLine(content);`
根本不是一个功能,而是一个选项包。
自从2.4以来,Typescript只用选项包检测到这些错误,而这个特定的错误只能从2.5开始,因为它涉及一种方法类型。更改可能是您最新的VS更新将您从Typescript 2.3或2.4或更高版本切换。
根本问题是剑道类型已经过时了。正如你所发现的那样,官方的打字在8月得到了解决。如果你更新你的打字,大多数应该修复编译而没有错误的新版本的Typescript。