2016-08-20 419 views
0

我試圖寫一個聲明文件,但在編譯我得到的錯誤出口外包裝分型文件是不是一個模塊

出口外包裝分型文件 「/nativescript-keychain/index.d。 ts'不是一個模塊。請聯繫 軟件包作者更新軟件包定義。

我正在寫它的代碼非常簡單,所以不知道我哪裏出錯了。

var setPassword = function (password, appName, account) { 
    SAMKeychain.setPasswordForServiceAccount(password, appName, account); 
    return true; 
}; 

var getPassword = function (appName, account) { 
    return SAMKeychain.passwordForServiceAccount(appName, account); 
}; 

exports.setPassword = setPassword; 
exports.getPassword = getPassword; 

和index.d.ts是

declare module "nativescript-keychain" { 

    export function setPassword(password: string, appName: string, account: string): void; 
    export function getPassword(appName: string, account: string): void; 
} 

回答

0

如果你想爲你不應該讓他們的全球(環境)的模塊提供分型。

所以只是刪除declare module,它應該工作。

// index.d.ts 
export function setPassword(password: string, appName: string, account: string): void; 
export function getPassword(appName: string, account: string): void; 

您可以檢查作爲一個例子ImmutableJS typings

如果你想發佈您的分型作爲一個單獨的d.ts並將其發佈到DefinitelyTyped,你應該在你的分型declare module

+0

謝謝你的工作,仍然試圖讓我的頭在一切。 – dottodot

+0

這對於編寫'd.ts'文件有很長的篇幅。您可以在[類型文檔](https://github.com/typings/typings/blob/master/docs/external-modules.md)上閱讀更多內容。 。另外http://stackoverflow.com/questions/34030542/how-to-create-an-external-module-typescript-definition-file-to-include-with-an?rq=1是另一個很好的閱讀。 – drinchev

相關問題