Acerca de "*.d.ts" en TypeScript
(2)
Tengo curiosidad acerca de *.d.ts
como un novato de TypeScript. Y alguien me dijo que este tipo de archivo es algo así como "archivo principal" en C ++, pero solo para JS. Pero no puedo convertir un archivo JS puro a *.d.ts
menos que cambie forzosamente el *.js
a *.ts
. Así que tengo tres archivos: un archivo JS, un archivo TS y un archivo *.d.ts
.
¿Cuál es la relación entre ellos?
¿Cómo puedo usar el archivo
*.d.ts
? ¿Significa que puedo eliminar el archivo*.ts
permanentemente?Si es así, ¿cómo puede saber el archivo
*.d.ts
qué archivo JS se está mapeando a sí mismo?
¡Muchas gracias! Sería muy bueno si alguien puede darme un ejemplo.
El archivo "d.ts" se usa para proporcionar información de tipo mecanografiado sobre una API escrita en JavaScript. La idea es que estés usando algo como jQuery o guión bajo, una biblioteca de JavaScript existente. Desea consumirlos de su código de mecanografía.
En lugar de volver a escribir jquery o guión bajo o lo que sea en mecanografiado, puede escribir el archivo d.ts, que contiene solo las anotaciones de tipo. Luego, a partir de su código de tipo mecanografiado, obtiene los beneficios mecanografiados de la comprobación del tipo estático mientras sigue utilizando una biblioteca JS pura.
d
significa archivos de declaración :
Cuando se compila una secuencia de comandos de TypeScript, hay una opción para generar un archivo de declaración (con la extensión .d.ts) que funciona como una interfaz para los componentes en el JavaScript compilado. En el proceso, el compilador elimina todos los cuerpos de funciones y métodos y conserva solo las firmas de los tipos que se exportan. El archivo de declaración resultante se puede usar para describir los tipos de TypeScript virtual exportados de una biblioteca o módulo de JavaScript cuando un desarrollador de terceros lo consume de TypeScript.
El concepto de archivos de declaración es análogo al concepto de archivo de encabezado encontrado en C / C ++.
declare module arithmetics {
add(left: number, right: number): number;
subtract(left: number, right: number): number;
multiply(left: number, right: number): number;
divide(left: number, right: number): number;
}
Los archivos de declaración de tipo se pueden escribir a mano para las bibliotecas JavaScript existentes, como se ha hecho para jQuery y Node.js.
Las grandes colecciones de archivos de declaración para las populares bibliotecas de JavaScript están alojadas en GitHub en DefinitelyTyped y en el Registro de Typings . Se proporciona una utilidad de línea de comandos llamada typings para ayudar a buscar e instalar archivos de declaración de los repositorios.