Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何替换TypeScript中的self类型?_Typescript_Duktape - Fatal编程技术网

如何替换TypeScript中的self类型?

如何替换TypeScript中的self类型?,typescript,duktape,Typescript,Duktape,我在一个嵌入式JavaScript引擎(基于duktape)中工作。在此上下文中,“self”不是Window类型,而是Script或JSComponent类型。使用typescript,在self上使用这些类的成员时,编译会导致错误 因此,我需要能够将self重新声明为JSComponent或脚本。在标准的TypeScript库中,我无意中发现了以下内容,我在任何地方都找不到相关文档: /// <reference no-default-lib="true"/> // 将其添加

我在一个嵌入式JavaScript引擎(基于duktape)中工作。在此上下文中,“self”不是Window类型,而是Script或JSComponent类型。使用typescript,在self上使用这些类的成员时,编译会导致错误

因此,我需要能够将self重新声明为JSComponent或脚本。在标准的TypeScript库中,我无意中发现了以下内容,我在任何地方都找不到相关文档:

/// <reference no-default-lib="true"/>
//
将其添加到要包含的d.ts中,可以解决以下问题:

/// <reference path="./Atomic.d.ts" />
/// <reference no-default-lib="true"/>

// Redeclare self as a JSComponent
declare var self: Atomic.JSComponent;
//
/// 
//将self重新声明为JSComponent
声明var self:Atomic.JSComponent;
现在,我可以在TS文件中引用它,并将self用作JSComponent。但是,我不能再在这个或项目中的任何其他TS文件中使用标准类,如Object和Array

有没有一种方法可以只对这段代码使用默认库来代替self的定义? 或者,是否有其他方法实现此重新声明

有没有一种方法可以只对这段代码使用默认库来代替self的定义?或者,是否有其他方法实现此重新声明

小费 *建议使用tsconfig.json并将
compilerOptions.noLib
设置为true,而不是使用此神奇注释

答复 将
noLib
设置为true并从TypeScript repo复制的自定义副本进行编译


此处涉及的主题:

因此,请删除lib.d.ts中的自我声明,并包含该版本?谢谢,这就解决了问题。虽然由于我在Visual Studio中工作,所以无法使用tsconfig.json,但Visual Studio似乎还不支持它(请参阅)。