Как я могу расширить один файл?

У меня есть сайт с 10 страницами, в которых есть файл Typescript, а также каждая страница имеет свой собственный конкретный файл Typescript. На одной странице есть плагин JQuery, timepicker, поэтому я расширяю объект JQuery, используя:

interface JQuery {
    timepicker(options:any):JQuery;
}

Однако я не хочу, чтобы любой из других Typescript файлов имел timepicker в объекте JQuery. Как я могу расширить его только для этого файла?

Это не позволяет мне расширять JQuery внутри пространства имен.

Могут ли модули помочь? Мне не нужно ничего импортировать или экспортировать, поэтому я не уверен, что это уместно или как использовать модули.

Ответ 1

В разметке страницы можно буквально включить следующее:

<script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css">

И тогда просто делайте что-нибудь с помощью таймера, используя следующий трюк, чтобы получить дескриптор jQuery:

declare var jQuery: any;

export class Whatever {
    private timePicker = jquery.timePicker
}

Это супер хаки, но я думаю, что это сработает.