我正在制作正在使用AWS开发工具包的TypeScript库,.d.ts文件中有错误。
'MyLib' only refers to a type, but is being used as a namespace here. ts(2702)
我正在使用typescript@3.2.4,将types/
分配给tsconfig.json
处的typeRoots。
我尝试将import
移到名称空间定义中,但没有解决。
types/src/lib/mylib.d.ts
import { S3 } from "aws-sdk";
declare namespace MyLib {
type DataType = S3.Body;
class MyLib { }
}
src/lib/mylib.ts
export default class MyLib {
constructor(data_type: MyLib.DataType) { }
// ^^^^^ There is a that error here.
}
我希望该代码没有错误。
答案 0 :(得分:0)
AWS SDK将命名空间导出为AWS
,因此我可以像AWS.S3
这样使用。
types/src/lib/mylib.d.ts
declare namespace MyLib {
type DataType = AWS.S3.Body;
class MyLib { }
}