TypeScript版本: 3.2.0-dev.20181019
搜索词:
代码
import abs from "abs"; // using @types/abs which uses `export =`
export const x: typeof abs = <any>null;
预期行为:
输出 .d.ts
是:
import abs = require("abs");
export declare const x: typeof abs;
实际行为:
import abs from "abs";
export declare const x: typeof abs;
在DefinitelyTyped中发现了quill
,它从quill-delta
导入,而quill-delta
是written in TypeScript,具有esModuleInterop
。
3条答案
按热度按时间xpcnnkqh1#
这完全是因为我们努力不重写人们的代码,因此在声明发射时,我们保留了它们需要互操作的导入样式。我不确定这是个错误还是只是不幸?我知道在新声明发射器之前,它会属于“不幸”的类别,因为我们也对
noImplicitAny
有同样的问题;但是新的声明发射器通过在任何缺少它们的any
上添加注解来解决所有这些问题。所以在同一思路下,我可以设想我们改变我们的发射以自动修复这个问题。0ejtzxu12#
IMO - 这是自动生成的声明文件的预期行为。
您会认为您的生成的声明应该是“普遍”可消费的,但到目前为止 - 它们不幸地不是:(
我很高兴看到这个问题得到解决(假设我可以称之为一个bug)。
fhg3lkii3#
Bump. It would be great if this was fixed. 😄