2017-03-02 53 views
0

我想添加一個構造函數到導入的聲明。根據the docs這應該工作。 (章Adding using an interface爲什麼我不能爲成員添加一個導入的聲明?

這裏是我的代碼:

import { ObjectID } from 'mongodb'; 

interface ObjectID { 
    new(b: Buffer): ObjectID; 
} 

我收到以下錯誤信息:

與「ObjectID'at線局部聲明2山坳進口報關衝突10

作爲解決方法,我重新命名了接口,並對任何接口進行了類型斷言,然後對接口進行了斷言。這足夠好,因爲我只需要在一個地方,但我仍然想知道爲什麼它不起作用。

回答

0

那麼,你正在導入在本地聲明,所以錯誤是準確的。對於導入的代碼,您應該創建一個declaration

但在這種情況下,您似乎不需要爲mongodb創建聲明。 Definition files already exist。你可以做

npm install @types/mongodb --save-dev 

所以你會得到一切爲你聲明。 Here's the constructor in question

+0

我實際上已經在使用該類型定義(對不起,應該明確說明)。您鏈接的構造函數只接受字符串和數字,根據API文檔,這是正確的。但是也有無法通過緩衝區的可能性。這就是我想添加到現有的聲明。 – ctusch

相關問題