В моем .ts файле я хочу ссылаться на .js (размещается сторонней стороной) и использовать некоторые из функций в файле .js. Пока единственный способ узнать, как это сделать, - это изменить страницу .html и вставить тег из самого .ts. Есть ли еще более элегантный способ сделать это помимо изменения страницы .html?Импорт машинописных файлов .js из CDN
ответ
Похоже, вы пытаетесь ссылаться на некоторые глобальные переменные, которые будут доступны во время выполнения, когда страница загружается. Если вы хотите ссылаться на эти переменные и знаете, что они будут вызывать, вы можете создать файл определения и указать его в своем .ts-файле. Вы файл определения можно назвать ThirdParty.d.ts
и выглядеть примерно так:
declare namespace ThirdParty {
interface User {
id string;
getID(): string;
}
}
export = ThirdParty;
Затем вы можете использовать эти объявленные переменные, типы, функции и т.д. из вашего машинописи, как это:
/// <reference path="ThirdParty.d.ts" />
var user = new ThirdParty.User("abc");
console.log(user.getID());
Д .ts файл в основном сообщает машинописному описанию, какие типы будут для вашего js, или неттипный код, к которому вы будете обращаться.
Если бы я загрузил сторонний файл javascript из CDN, я был бы осторожен. Любые изменения стороннего скрипта могут быть несовместимы с файлом определения, который вы написали, и могут нарушить ваш код.
https://medium.freecodecamp.com/javascript-modules-a-beginner-s-guide-783f7d7a5fcc –
Я не уверен, как это решает мой вопрос. –
Вы должны использовать систему модулей для загрузки ваших скриптов. Есть несколько таких систем. Эта ссылка объясняет это. –