Сегодня я узнал, как сделать внешние библиотеки «видимыми» для TypeScript. Я задал вопрос о Stackoverflow как Как определить элементы, которые будут игнорироваться в TypeScript который вы можете прочитать сейчас или позже.
Как вы помните, я начал использовать TypeScript вчера. Это уже имело большое значение для качества моего кода, поэтому я подумал, что буду использовать его на других вещах, таких как Лихен и связанные с ними внутренние проекты, которые используют ClearScript Чтобы добавить JavaScript в качестве языка расширения.
Сложность, которую я испытывал в VSCODE, заключалась в том, как сделать различные объекты C#, которые я подвергал JavaScript, понятным для TypeScript, чтобы я не был постоянно помечать вещами, которые на самом деле не были ошибками.
Пример, который я дал на Stackoverflow, был объект, который разговаривает с поставщиком прокси.
that.getMyIP = function () {
var request = new CSRestRequest();
request.AddParameter("user", username);
request.AddParameter("pass", password);
request.AddParameter("command", "getmyip");
var response = client.Execute(request);
return response.Content.trim();
};
Csrestrequest является символом, введенным в интерпретатор JavaScript со стороны C#. Это обертка объекта RestSharp. TypeScript был помечал CSRestRequest и Addparameter Методы как «проблемы».
Престижность Scifithief кто указал мне на Документация и дал краткий пример. Последующие участники добавили более подробную информацию.
Теперь у меня есть файл в моей папке TS под названием External.d.ts который содержит
declare class CSRestRequest {
constructor (str?:any) ;
AddParameter(a:string, b:string) : any;
}
declare class CSRestClient {
constructor(str?:string);
Execute:(client:any);
}
И теперь мой опыт редактирования улучшен, и я могу сосредоточиться на под рукой код и не отвлекаться от Wiggly Red Lines of False-позитива под моим кодом.
Оригинал: “https://dev.to/bugmagnet/typescript-and-external-libraries-4o9a”