TypeScript (III): Limitación al uso de librerías


Al realizar un primer ejemplo de utilización; no hay ningún problema para casos simples.
Pero…

Limitación al uso de librerías

En TypeScript para compilar módulos que usan otros; se necesita referenciar estos. El equivalente en un modulo C# a los using de nuestros namespaces o referencias.
Para ello debemos incluir las librerías utilizas en el inicio del modulo.

///<reference path='jquery.d.ts'/>
///<reference path='Vehicle.ts'/>

Para nuestros módulos no supone especial problema. El problema tiene especial importancia para las librerías externas de Javascript que queramos utilizar. En ese caso debemos generar un fichero esqueleto de las mismas con sus interfaces disponibles. El nombre por convención que se da a este tipo de ficheros es d.js.

Actualmente no hay ninguna herramienta que a partir del fichero js nos genere d.ts (aunque se esta trabajando en ella). Lo cual hace difícil utilizar librerías externas sin un gran esfuerzo adicional.
Para las librerías jQuery, WinRt y Winjs (para versiones antiguas) disponemos las interfaces en el propio proyecto de TypeScript.

PostData

Dejo un proyecto, con el ejemplo con un proyecto que genera en el siguiente link: FirstExampleTypeScript
Este proyecto genera dos ficheros TypeScript:

  • Vehicle.ts : Modulo que encapsula funcionalidades de vehículos.
  • app.ts: Modulo de la aplicación; que genera un vehículo todo terreno y muestra su descripción vía jQuery. Este fichero incorpora dos referencias: una a la librería interna de vehículos y otra a la librería jQuery mediante un d.ts.
    FirstExampleTypeScript

    FirstExampleTypeScript

Anuncios
Esta entrada fue publicada en TypeScript y etiquetada . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s