Я унаследовал проект javascript, который не могу преобразовать в машинописный текст.
Можно ли создать файлы определения adhoc для каждого соответствующего файла js :
- наслаждаться локализованной проверкой типов?
- или, возможно, помочь постепенно преобразовать кодовую базу из js в ts?
например что-то вроде этого:
// MyComponent.js
export default class MyComponent extends React.Component {
field = { users: [] }
method() {
this.field.users[0]. // get hints here
}
}
// MyComponent.d.ts
interface User {
name: string,
uuid: number,
}
declare class MyComponent {
field: { users: User[] }
}
, который будет вести себя так же, как в отдельном файле ts
// MyComponent.ts
interface User {
name: string,
uuid: number,
}
export default class MyComponent extends React.Component {
field: { users: User[] } = { users: [] }
method() {
this.field.users[0]. // hints: name | uuid
}
}
Использование d.ts
файлов работает при импорте в другой файл, но я хочу, чтобы "файл определения" для применения к этому конкретному файлу, к которому он "привязан" .Я читал, что объединение двух областей видимости - зло ( github issue ), , но почему его вообще рассматривают как две области видимости, поскольку при импорте из такого модуля он рассматривается какодна сфера?Таким образом, гипотетически, не может ли (возможно) другой файл с другим расширением, предназначенный специально для ввода js-файлов, внешне помочь постепенному переходу к ts? ...
Какие-либо планы по разрешениюТипы параметров функции JS из .d.ts?vscode # 21454
Использование d.ts указанных типов в самом модуле JavaScript TypeScript # 14342