【发布时间】:2018-12-30 14:05:12
【问题描述】:
我正在尝试在节点中为 winston-syslog (direct link to main file) 手动创建类型,但我遇到了问题。当我创建以下定义时:
// File: src/types/winston-syslog/index.d.ts
declare module 'winston-syslog' {
import * as Transport from 'winston-transport';
export interface SyslogTransportOptions extends Transport.TransportStreamOptions {
host?: string;
port?: number;
path?: string;
protocol?: string;
pid?: number;
facility?: string;
localhost?: string;
type?: string;
app_name?: string;
eol?: string;
levels?: {[key: string]: number};
}
export interface Syslog extends Transport {
new(options?: SyslogTransportOptions): Syslog;
}
}
我无法创建 Syslog 实例,因为 Typescript 失败并出现错误:
错误 TS2693:'Syslog' 仅指一种类型,但在此处用作值。
这是我的(大大减少的)主文件:
// File: src/Log.ts
import {Syslog, SyslogTransportOptions} from 'winston-syslog';
const transportOptions = {/* some values here */};
const syslogTransport = new Syslog(transportOptions);
我猜我定义 Syslog 类的方式有问题,但这正是 winston 内部的做法。
【问题讨论】:
标签: node.js typescript