我正在尝试发布一个打字稿库。我不清楚如何公开所有类型和接口。这是我的设置:
mylib
├──src
│ ├──types
| | └──mytypes.ts
│ └──index.ts
├──package.json
└──tsconfig.json
//index.ts
import {MyInterface} from './types/mytypes.ts';
const my_main_name = {
myfunc: function(param1:MyInterface):void{
console.log(param1.a);
}
}
//mytypes.ts
export interface MyInterface {
a:string
}
我通过设置生成声明文件tsconfig.json
param "declaration":"true"
.
现在我想使用这个库作为另一个库的依赖项。
mylib
yrlib
├──src
│ └──index.ts
├──package.json
└──tsconfig.json
//yrlib/package.json
{
...
"dependencies":{
"mylib":"file:../mylib/"
}
}
//yrlib/src/index.ts
import * as mylib from 'mylib';
let a:mylib.MyInterface = ...
// ~~ Namespace has no export member for MyInterface
我得到自动完成mylib
因为它是出口的。
我的问题是如何查看所有类型和接口mylib
内部模块yrlib
?
因为它们可能有数百个并且位于所有不同的文件和文件夹中。
我应该一一导出吗?最佳实践是什么?
有没有办法一次性导出所有类型?
And how "typying":"dist/index.d.ts"
in package.json
适合这一切吗?应该将所有类型放在一个文件中吗?为什么 Typescript 不生成这个文件?
我应该使用包含所有内容的命名空间吗?我找不到关于这个主题的完整解释。