如何在TypeScript中声明“任何”模块?

24

我需要逐步将一些大型项目从js迁移到TypeScript。

我将其中一个文件重写为ts,并希望在此时指定其他文件可以包含任何内容。

例如:

declare module jsModule:any;
var obj:jsModule.cls = new jsModule.cls()

但是在当前情况下它无法工作。我需要在模块声明中指定每个导出的类/函数/变量。

我可以以某种快速的方式将外部模块声明为"any"吗?

1个回答

30

对于没有公开类型和任何值的外部模块:

declare module 'Foo' {
  var x: any;
  export = x;
}

不过这并不能让你写foo.cls

如果你要给单个类编写存根,可以这样写:

declare module 'Foo' {
    // The type side
    export type cls = any;
    // The value side
    export var cls: any;
}

变量 x: any; ^^^ 意外的标记 var - Oliver Dixon
我在export = x;这一行下面看到了错误信息"An export assignment cannot be used in a namespace"。你有什么想法是怎么回事吗? - Ajm Iam
您忘记在模块名称周围加上引号。 - Ryan Cavanaugh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接