我正在尝试编写声明文件,但在编译时我收到了错误
导出的外部包装类型文件 '/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 :(得分: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
。