我正在尝试使用Mocha测试在Typescript中编写的NodeJS项目,我从绝对类型中获取了mocha.d.ts文件
https://github.com/borisyankov/DefinitelyTyped/blob/master/mocha/mocha.d.ts .
这是我在Webstorm中看到的错误:
C:/Users/Me/AppData/Roaming/npm/tsc.cmd --sourcemap Test.ts --module commonjs
C:/Users/Me/WebstormProjects/Core/test/External/mocha.d.ts(76,1): error TS2152: Overload signatures must all be ambient or non-ambient.
C:/Users/Me/WebstormProjects/Core/test/External/mocha.d.ts(78,1): error TS2152: Overload signatures must all be ambient or non-ambient.
这是mocha定义的一部分,突出显示错误:
declare function setup(action: () => void): void;
declare function setup(action: (done: mocha.Done) => void): void;
2 回答
TS对过载很挑剔 . 另见Constructor overload in TypeScript
尝试删除第一个声明并添加?到第二个标记param为可选(免责声明 - 我没有测试过这个)
这个定义是有效的 . 我怀疑这是一个WebStorm问题,或者在其他地方的代码中出现问题 .
See this compiles fine: