Подтвердить что ты не робот

Используйте библиотеку JavaScript Raphael в TypeScript

Можно ли использовать библиотеки JavaScript в TypeScript?

Например, я хочу использовать Raphael в TypeScript и добавил файлы JS в свой /scripts folder и добавил их в _references.js.

Но когда я хочу объявить в своем TS файле:

var r = Raphael(10,50,640,480);

Intellisense всегда говорит:

Raphael does not exist in the current scope.

и файл TS не компилируется.

4b9b3361

Ответ 1

Эта строка является эмбиентной декларацией:

declare var Raphael: any;

Пока он работает, вы не получаете реального ввода.

В проекте DefinitelyTyped уже есть определения для Рафаэля.

Загрузите файл raphael.d.ts.

И используйте его следующим образом:

/// <reference path="../Definitions/raphael.d.ts" />

Ответ 2

Я поддерживаю предыдущий ответ, объявляю Raphael как var с типом any, и он будет работать. Но если вы серьезно любите использовать тип script, тогда создайте файл объявления для Raphael js. Таким образом, это обеспечит intellisense всякий раз, когда вы используете Raphael js. Вот ссылка для файла декларации JQuery, которая доступна в образцах, предоставленных сайтом typescript. Просто взгляните, это поможет. Пожалуйста, дайте мне знать, если потребуется какая-либо дополнительная информация.

Ответ 3

Как уже отмечалось ранее, вы можете просто объявить Raphael как var типа "any", но если вы хотите IntelliSense и проверку времени компиляции, вам понадобится файл декларации. Я пошел вперед и сделал первый удар по этому поводу: https://bitbucket.org/keesey/raphaelts