Estoy desarrollando un proyecto Angular 2 con Typescript. Quiero poder usar select2 y no veo ningún complemento estable con funciones ricas equivalente a select2. Sin embargo, encontré types/select2 en el proyecto DefinitelyTyped . No estoy seguro de cómo usarlos en mi proyecto. No puedo encontrar ejemplos de otras bibliotecas DefinitelyTyped también. Soy nuevo tanto en TS como en Angular 2. ¿Alguien puede darme indicaciones sobre cómo debo usar esto?
Entiendo que puedo incluir la biblioteca usando mi paquete.json pero no tengo idea de cómo puedo usarla en un componente.
Con @types/select2 instalado, permite que el compilador de TypeScript realice una verificación de tipos estáticos para garantizar que la biblioteca Select2 se llame correctamente. No cambia la forma en que usa select2 : aún necesita instalar la biblioteca Select2 y usarla como lo haría sin verificar el tipo.
Para las dependencias externas (como jQuery o Select2), debe instalar sus archivos de definición de tipo correspondientes, de modo que el compilador de TypeScript pueda resolver los tipos externos en tiempo de compilación. Esto es preferible a declarar any tipo (es decir, declare var $: any )
Asegúrese de instalar también los tipos de jQuery:
npm install @types/jquery Esto instalará las definiciones de tipo en node_modules/@types/jQuery . De forma predeterminada, el compilador de TypeScript resolverá los tipos de la carpeta node_modules/@types .
Para paquetes TypeScript NodeJS, puede generar archivos de definición de tipo como parte del paso de compilación y especificar index.d.ts en la propiedad typings de su archivo package.json . En este caso, no necesariamente necesita exportar las definiciones de tipo a node_modules/@types .
Tuve un problema similar y lo solucioné importando:
import 'select2';que había instalado antes:
npm install select2 --saveUna vez que haya hecho eso, puede usar la biblioteca a través de jquery como de costumbre.
resuelvo esto por
import { Select2} from 'select2'y también instalar:
npm install @types/select2@4.0.48Ahora tengo que ejecutar la prueba, pero no hay más errores en TypeScript slint