@felsme

Как правильно указать файл декларации в ts?

Замечал в разных библиотеках, vscode или webstorm умеют подсказывать какие будут данные с сервера или методы объекта который еще не был создан, но сколько не смотрел в их код все равно не понимаю как это работает, в typescript в файлах .d.ts можно описывать типы, но я не понимаю что нужно сделать чтоб текстовые редакторы начали использовать эти файлы для автокомплита, в этом и суть вопроса.
5f90f7e6aab54883379805.jpeg
5f90f7ec9ed77417737441.jpeg
И не надо меня отправлять на доку по ts, я уже там все перерыл
  • Вопрос задан
  • 482 просмотра
Решения вопроса 1
Судя по всему - плохо рыли. .d.ts-файлы работают для модулей.
К примеру у нас есть следующая структура:
│   main.js
└───lib
        greeting.ts

main.js

import { greeting } from './lib/greeting.js';

console.log(greeting('John'));


greeting.ts

export const greeting = (name: string): string => `Hello, ${name}`;


Для генерации требуемого .d.ts можем использовать следующую команду: tsc lib\greeting.ts --target ES2020 -d. Данная команда сгенерирует два файла:
greeting.js

export const greeting = (name) => `Hello, ${name}`;


greeting.d.ts

export declare const greeting: (name: string) => string;


И в том случае, если удалить greeting.ts, то описания типов будут подтягиваться с .d.ts файла (в основном используются в релизных сборках).
Ваш .d.ts должен выглядеть следующим образом:
export declare class Message {
    send(t: string, f: string): void;
}

5f9107e030050654671624.png
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы