Существует проблема при импорте библиотек, определенных в typesciprt 2.7, как показано ниже.
В официальном машинописном документе он предоставляет шаблон "module-class". Но нет упоминания о расширении класса модуля в этом документе. В этом случае, когда существует класс, который наследует, это часто делается следующим образом. Однако, когда я на самом деле ссылаюсь на него, возникают ошибки компиляции, которые не находят унаследованные свойства.
Error
Property '...' does not exist on type '...'
.
Как мы можем решить это?
Обратите внимание, что я использую опцию esModuleInterop
compile, добавленную в 2.7.
ниже приведен пример кода ситуации.
Родительский код и определение
// Code
export default class Parent {
on() {
// ...
}
}
// Definition
declare class Parent {
on(): this
}
export default Parent;
Определение детской библиотеки
import * as Parent from "parent";
declare class Child extends Parent {
// ...
// Parent's "on" method can be noticed here
}
declare namespace Child {
// ISSUE
}
Использование
import Child from "child";
const child = new Child();
// `Property 'on' does not exist on type 'Child'`.
child.on();