2016-08-20 5 views
0

Я пытаюсь написать Declaration файл, но при компиляции я получаю ошибкувывезенных внешний пакет типизация файл не является модуль

вывезенных внешние типизации файл пакет «/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

 Смежные вопросы

  • Нет связанных вопросов^_^