2017-06-16 39 views
0

的直接接口,我庫由導出所有接口/類型從打字稿項目一個文件

index.d.ts 

這是目前從

index.ts 

在我的package.json文件自動生成的拍攝對於我的項目,typings/types屬性指向這個index.d.ts文件,這是我的理解,它應該如何。迄今爲止都很好。

但是,我還想從index.d.ts中導出更多的類型,這些類型目前不在index.d.ts中表示。

比如我在

foo.d.ts 
bar.d.ts 

一些手動創建的類型,我想這些在index.d.ts表示。

我認爲這可能有效的唯一方法是將foo.d.ts/bar.d.ts類型導入到index.d.ts中,然後將其從該文件中導出。

但是,我遇到了麻煩!

這裏是我的嘗試:

// index.ts 

import {IBar} from '../bar.d.ts' 
import {IFoo} from '../foo.d.ts' 

// ... do some stuff with index.ts yadda yadda 

export type IBar = IBar; // doesn't seem to work 
export interface IFoo = IFoo; // doesn't seem to work 

這可能嗎?我該怎麼做呢?

回答

0

我認爲其他的答案會工作。如果你需要使用的IFoo和伊巴爾在該文件中,那麼這是做什麼:

import * as IFooImport from '../foo.d.ts'; 

// use IFooImport 

export import IFoo = IFooImport.IFoo; 

這工作,但與「進口出口」語法有點尷尬。

2

如果你不需要使用它們,你可以直接導出它們。

export * from '../foo/bar'; 

或者,如果你需要導出只是其中的一些可以使用。

export { IFoo, IBar} from '../foo/bar'; 

或者,如果你想在導出過程中重命名他們,你可以這樣做:

export { IFoo as IOther, IBar as Dogs } from '../foo/bar'; 

您可以將MDN文檔here在閱讀更多關於他們。

1

你可以試試:

export {IBar} from '../bar.d.ts' 
export {IFoo} from '../foo.d.ts'