2012-10-07 61 views
13

¿Es posible usar las bibliotecas JavaScript en TypeScript?Usar la biblioteca Raphael JavaScript en TypeScript

Por ejemplo, quiero usar Raphael en TypeScript y agregué los archivos JS en mi /scripts folder y los agregué al _references.js.

Pero cuando quiero declarar en mi archivo TS:

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

Intellisense siempre dice:

Raphael does not exist in the current scope.

y el archivo TS no compila.

Respuesta

19

Esta línea es una declaración ambiental:

declare var Raphael: any; 

Mientras funciona, se obtiene sin necesidad de escribir real.

El proyecto DefinitelyTyped ya tiene definiciones para Raphael.

Descargue el archivo raphael.d.ts.

Y utilizar de esta manera:

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

Apoyo la respuesta anterior, declaro a Raphael como var con type any y funcionará. Pero si realmente quiere aprovechar el script de tipo, cree un archivo de declaración para Raphael js. Entonces, eso proporcionará intellisense cada vez que use Raphael js. Aquí está link para el archivo de declaración Jquery que está disponible en las muestras proporcionadas por el sitio de mecanografía. Solo mira, te ayudará. Por favor, avíseme si se requieren más detalles.

+0

hay una herramienta para generar un archivo de declaración de forma automática? – daniel

+0

compilador de línea de comandos está haciendo eso, pero supongo que es para el archivo de declaración de mecanografía a mecanografía, no de javascript a archivo de declaración. Todavía puedes intentar copiar pegando de js a ts e intentar generar una declaración, pero no estoy seguro de eso. – kunjee

0

Como se indicó anteriormente, puede declarar a Raphael como una var de "cualquier" tipo, pero si desea IntelliSense y la verificación en tiempo de compilación, necesitará un archivo de declaración. He ido por delante y toma una puñalada inicial en esta aquí: https://bitbucket.org/keesey/raphaelts