代码:
// in a javascript file mod1.js:
class C {
prop = 0;
}
module.exports = { C }
// in a typescript file test.ts
declare var yyy: import("./mod1").C
预期行为:
无错误,且 yyy: C
实际行为:
错误,命名空间 '"src/test/mod1".export=' 没有导出成员 'C'。
module.exports分配的对象字面量应该用SymbolFlags.Namespace标记,或者getTypeFromImportTypeNode可能需要了解非命名空间容器。它可能还需要检查成员而不是导出,因为那是对象字面量存储成员的地方。
1条答案
按热度按时间y3bcpkx11#
对于
module.exports.C = C
不起作用,仅适用于module.exports.C = class { prop = 0 }
。