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

问题描述 投票:0回答:2

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

我重写了 ts 中的文件,并且我想指定此时其他文件可以包含任何内容。

例如类似的事情:

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

但此时此刻不起作用。我需要在模块声明中指定每个导出的类/函数/变量。

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

typescript
2个回答
29
投票

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

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;
}

0
投票
declare module 'foo';

然后

import {foo, bar, blah} from 'foo' // ok, no error (everything type any)
© www.soinside.com 2019 - 2024. All rights reserved.