【发布时间】:2017-06-15 10:06:59
【问题描述】:
所以我有一个用 TypeScript 编写的库,它使用 NPM 依赖 'ldapjs'。
我的项目中也安装了@types/ldapjs。
所以在我的项目中,我有这个:
import {Client} from '@types/ldapjs';
import * as ldap from 'ldapjs';
现在这是我的问题 - 如何将属性添加到类型为 Client 的客户端?
我有这个:
export interface IClient extends Client{
__inactiveTimeout: Timer,
returnToPool: Function,
ldapPoolRemoved?: boolean
}
其中 IClient 是我的 ldapjs 客户端版本,带有一些额外的属性。
let client = ldap.createClient(this.connOpts); // => Client
client.cdtClientId = this.clientId++;
但问题是,如果我尝试向客户端添加属性,我会收到此错误:
'cdtClientId' 属性在客户端类型上不存在。
有什么方法可以将 Client 转换为 IClient?
我该怎么做?我在许多不同的项目中都有同样的问题。
【问题讨论】:
标签: node.js typescript typescript2.0