typescript - Hur man använder typer/select2 i ett Angular 2-projekt?
Jag utvecklar ett Angular 2-projekt med Typescript. Jag vill kunna använda select2 och jag ser inga stabila, funktionsrika plugins som motsvarar select2. Däremot stötte jag på types/select2 i DefinitelyTyped-projektet. Jag är inte säker på hur jag ska använda dem i mitt projekt. Jag kan inte heller hitta exempel på andra DefinitelyTyped-bibliotek. Jag är nybörjare på både TS och Angular 2. Kan någon ge tips om hur jag ska använda detta?
Jag förstår att jag kan inkludera biblioteket med min package.json men har ingen aning om hur jag kan använda det i en komponent.
Svar #1
Med @types/select2 installerat tillåter det TypeScript-kompilatorn att utföra statisk typkontroll för att säkerställa att Select2-biblioteket anropas korrekt. Det ändrar inte sättet du använder select2 på - du måste fortfarande installera Select2-biblioteket och använda det som du skulle ha gjort utan typkontroll.
För externa beroenden (som jQuery eller Select2) bör du installera deras motsvarande typedefinitionsfiler, så att TypeScript-kompilatorn kan lösa de externa typerna vid kompilering. Detta föredras framför att deklarera any-typer (d.v.s. declare var $: any)
Se till att du installerar jQuery-typer också:
npm install @types/jquery
Detta kommer att installera typdefinitionerna under node_modules/@types/jQuery. Som standard kommer TypeScript-kompilatorn att lösa typer från mappen node_modules/@types.
För TypeScript NodeJS-paket kan du generera typdefinitionsfiler som en del av kompilationssteget och specificera index.d.ts i typings-egenskapen i din package.json-fil. I detta fall behöver du inte nödvändigtvis exportera typdefinitionerna till node_modules/@types.
Svar #2
Jag hade ett liknande problem och löste det genom att importera:
import 'select2';
som jag hade installerat tidigare:
npm install select2 --save
När du har gjort det kan du använda biblioteket via jquery som vanligt.
