我不确定这是否受支持但我有一个场景,在我的d.ts文件中我想要声明如下:
declare module final {
export class Test {
}
}
declare module root {
module final {
export class MainClass extends final.Test {
}
}
}
我遇到的问题是TypeScript" Property' Test'在类型' typeof final'"中不存在对于extends final.Test
部分。
所以我们有一个模块名称重叠的问题,是否可以解析,而不需要使名称唯一?
答案 0 :(得分:1)
没有办法指明你的意思是另一个final
模块
您可以做的是用不同的名称命名模块:
declare module final1 {
export class Test {}
}
declare module root {
module final2 {
export class MainClass extends final1.Test {}
}
}
或者您可以将其放在共享父母下面:
declare module myModule {
export module final {
export class Test {}
}
}
declare module myModule {
declare module root {
module final {
export class MainClass extends myModule.final.Test {}
}
}
}
在浏览器中已有共享父级,这是一个窗口,您可以这样做:
export class MainClass extends window.final.Test {}
但我不确定NativeScript
是如何完成的。
答案 1 :(得分:0)
在声明type
之前,您可以使用final.Test
关键字为module.root
声明别名:
declare module final {
export class Test {
}
}
// define 'finalTest' as an alias
type finalTest = final.test;
declare module root {
module final {
export class MainClass extends finalTest {
}
}
}