【发布时间】:2019-02-12 03:32:07
【问题描述】:
“@types/dd-trace”中“dd-trace”库的类型定义导出单个变量。
declare var trace: TraceProxy;
export = trace;
declare class TraceProxy extends Tracer {
/**
* Initializes the tracer. This should be called before importing other libraries.
*/
init(options?: TracerOptions): this;
// A bunch of other irrelevant code.
}
如何在我的代码中导入它?如果我错误地尝试将 ddTrace.init() 分配给布尔值,TypeScript 会告诉我类型是“TraceProxy”。但是我已经尝试了所有看似的变化:
import { TraceProxy } from "dd-trace"
node_modules/@types/dd-trace"' has no exported member 'TraceProxy'. 失败
import { init, trace } from "dd-trace"
const tracer: trace = init()
在那里导入成功,但随后声明失败:3:15: cannot find name "trace"
所有这些变体都失败了:
const tracer: trace.trace = init()
const tracer: trace.TraceProxy = init()
const tracer: trace.Tracer = init()
const tracer: TraceProxy = init()
const tracer: Tracer = init()
导入模块失败:
import * as ddTrace from "dd-trace"
const tracer: ddTrace = ddTrace.init()
Cannot find name 'ddTrace'. 在第 3 行。
这些也失败了:
import * as ddTrace from "dd-trace"
const tracer: ddTrace.TraceProxy = ddTrace.init()
Cannot find namespace 'ddTrace'.
一个建议的答案(已删除)是:
import trace from "dd-trace"
const tracer: trace = trace.init()
这失败了:@types/dd-trace/index"' has no default export.
如何在此处声明类型定义?我正在使用最新版本的 TypeScript 并通过运行 ./node_modules/.bin/tsc myfile.ts 进行编译。
【问题讨论】:
标签: typescript types datadog