2016-07-12 4 views
5

У меня есть файл javascript под названием ui.js.Как использовать javascript в машинописных текстах

Внутри ui.js находится код настройки UI.

if (!("ontouchstart" in document.documentElement)) { 

    document.documentElement.className += " no-touch"; 

    var jScrollOptions = { 
     autoReinitialise: true, 
     autoReinitialiseDelay: 100 
    }; 

    $('.box-typical-body').jScrollPane(jScrollOptions); 
    $('.side-menu').jScrollPane(jScrollOptions); 
    $('.scrollable-block').jScrollPane(jScrollOptions); 
} 

}

Я хотел бы быть в состоянии назвать это от машинописи.

Я не хочу преобразовывать код в машинопись, поскольку есть сотни строк, и это не обязательно. Он просто должен быть один раз после того, как пользовательский интерфейс будет готов.

Мне кажется, что я должен иметь возможность обернуть его в функцию, а затем вызвать эту функцию из машинописного текста.

Но я не смог понять, как это сделать.

Примечание: это не дубликат более раннего вопроса, так как это было как конвертировать js, а не использовать его с минимальными изменениями.

+0

Возможный дубликат [Вызов JavaScript непосредственно из TypeScript] (http://stackoverflow.com/questions/12710962/calling-javascript-directly-from-typescript) – choz

+0

Этот ответ связан с преобразованием js в машинопись. В этом случае я просто хочу использовать его как есть или с минимальными изменениями. –

ответ

9

Но я не смог понять, как это сделать.

Просто установите allowJs к истинным в вашем tsconfig.json compilerOptions, а затем убедитесь, что файл .js является включен использованием files/include/exclude т.д.

Больше

Я сделал видео на предмет https://www.youtube.com/watch?v=gmKXXI_ck7w

+1

+10 для видео. Спасибо, как всегда :) –

2

Вы можете вызывать функции JavaScript из внешних файлов без забот. Но вы должны объявить их так, чтобы TypeScript знал о них. Если вы этого не сделаете, ваш код будет работать, но при компиляции вы получите сообщение об ошибке.

Вы можете использовать Анонимно типизированного вар:

declare var myFunction;

или сопрягаемую типизированных Var:

interface __myFunction { } declare var myFunction: __myFunction;

Вы также можете написать это в файл декларации (но его не требуется). См. Также TypeScript documentation.

+0

это ответ, который я фактически использовал, и он работает. –

+0

Вы можете выбрать его как принятый ответ :) – Mick

Смежные вопросы