导出的外部包装类型文件不是模块

时间:2016-08-20 12:10:25

标签: typescript typing

我正在尝试编写声明文件,但在编译时我收到了错误

  

导出的外部包装类型文件   '/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;
}

1 个答案:

答案 0 :(得分: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