2016-03-05 63 views
1

我想做一個幫手的.ts文件,如:如何使用打字稿環境聲明的接口在d.ts聲明接口文件

class ResponseHelper implements IResponseHelper {...} 

和IResponseHelper簡單.d.ts與文件

import * as mongoose from 'mongoose'; 
import * as express from 'express' 
interface IResponseHelper { 
    toStandartResponse(response: mongoose.Promise<any>, res: express.Response): mongoose.Promise<any>; 
} 

正如你可以看到toStandartResponse中的params來自環境聲明的貓鼬。所以,如果這很好,但如果我這樣做,我不能用'實現'像類一樣ResponseHelper實現IResponseHelper,因爲我得到了errror'在外部模塊ResponseHelper'找不到符號IResponseHelper'換句話說編譯器無法看到d.ts文件。 如果我從d.ts刪除導入語句。文件everuthing是好的,但我不能指定響應類型。

有什麼辦法可以一起使用它嗎?

回答

0

我相信當你在使用import使文件模塊,所以你必須export任何成員想要看到:

export interface IResponseHelper { } 

現在你可以從其他文件import它:

import {IResponseHelper} from "./IResponseHelper"; 

class ResponseHelper implements IResponseHelper { } 
+0

我會嘗試這個,但它很奇怪,因爲.d.ts是定義文件,並沒有生成代碼。那麼在這種情況下,javascript將如何輸出。它應該導致模塊不存在或不存在的錯誤。 –