打字稿冲突的variables名称

我试图编译一些Node.js打字稿的代码,但我遇到了两个名为consolevariables的问题。 本质上,Node.js有一个console.trace()方法,而正常的浏览器端JavaScript不。 我在我的Typescript文件中引用了node.d.ts,其他一切正常。 node.d.ts将console声明为一个variables,但是lib.d.ts也是如此,这似乎是在重写Node.js版本。 将–nolib添加到编译器只会引发数百个关于未定义符号的错误。 有没有办法解决这个问题,而不编辑lib.d.ts? (或者控制台: (<any>console).trace() ?)

您可以编辑node.d.ts定义,使其扩展Console接口的现有lib.d.ts定义。

在你的node.d.ts中用下面的代替declare var console

 interface Console { log(...data: any[]): void; info(...data: any[]): void; error(...data: any[]): void; warn(...data: any[]): void; dir(obj: any): void; timeEnd(label: string): void; trace(label: string): void; assert(expression: any, ...message: string[]): void; } 

现在你的TypeScript将在没有转换的情况下进行编译