Zauważyłem, że istnieje organizacja npm @types , która zawiera pakiety do pisania, ale nie mogę znaleźć na jej temat żadnej dokumentacji. Jak mają być używane?
Czy ma być używany z narzędziem do pisania ? Jeśli tak, jak je zainstalować? Na przykład jest @types/openlayers
pakiet, ale typings search npm:openlayers
nic nie zwraca.
Czy ma być używany oddzielnie od narzędzia do pisania? Np. Zainstalowany bezpośrednio z npm
?
typescript
typescript-typings
Ronald Zarīts
źródło
źródło
Odpowiedzi:
Począwszy od TypeScript 2.0, wpisywanie nie jest już wymagane. Organizacja npm to podmiot, który tworzy zespół programistów. Uważam, że Microsoft skonfigurował organizację @types w npm i dodał zespół programistów TypeScript do organizacji. Pakiety w ramach organizacji @types są publikowane automatycznie z witryny DefinitelyTyped przy użyciu narzędzia types-publisher zgodnie z dokumentacją .
Ponadto istnieje inny sposób dodawania
types
do pakietów:W pliku package.json
Jeśli twój pakiet ma
.js
plik główny , będziesz musiał wskazać również główny plik deklaracji w swoimpackage.json
pliku. Ustawtypes
właściwość tak, aby wskazywała na dołączony plik deklaracji. Na przykład:Zwróć uwagę, że
"typings"
pole to jest synonimem"types"
i może być również używane.Zauważ również, że jeśli twój główny plik deklaracji ma nazwę
index.d.ts
i znajduje się w katalogu głównym pakietu (obokindex.js
), nie musisz oznaczać"types"
właściwości, chociaż jest to zalecane.Odnośnie typów wyszukiwania
Od - http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html
Ale kiedy to zrobiłem
npm search @types/openlayers
, nie uzyskałem żadnych wyników. Ale wyszukiwanie z poziomu interfejsu internetowego zwróciło mi wyniki. Więc myślę, żenpm search
nie przeszukuje organizacji.źródło
package.json
ramachtypes
własności, zauważyłem, że mówisz o dołączonym pliku deklaracji . Jaki byłby najłatwiejszy sposób osiągnięcia tego w zautomatyzowanym systemie kompilacji, takim jak gulp?"main"
pole, jeśli nazwa main ma nazwę index.js?"typings"
pole jest synonimem"types"
i może być również używane”Ogłoszenie na blogu TypeScript odpowiada na to pytanie: Przyszłość plików deklaracji
Podsumowanie:
Organizacja
@types
npm służy do uzyskiwania definicji typów znpm
. Korzystanie z tych definicji typów jest funkcją, która zostanie wprowadzona w języku TypeScript 2.0.Zastąpi to obecne projekty / narzędzia, takie jak pisanie i tsd , chociaż będą one nadal obsługiwane przez jakiś czas.
źródło
core-js
w /npm i @types/core-js --save
widzę, że jest w folderze, ale projekt nadal generuje błędy. Czy jest coś jeszcze, co powinienem zrobić? Czy muszę pozwolić tsconfig być świadomy @types czy czegoś takiego? Jak Sean powiedział, że nie ma nigdzie rodzajów dokumentacji jeszcze :(tsdk
należało wskazywał na 2.0beta zainstalować TStsconfig.json
o"types"
właściwość tablicy zawierającą nazwy tych modułów, np."types": ["core-js"]
Będzie to funkcja wprowadzona w programie Typescript 2.0. Zapewnia to obsługę typów dla modułów / bibliotek UMD i ich odpowiednich definicji.
Zobacz ( Wbudowana obsługa definicji modułów UMD ), aby lepiej zrozumieć problemy z typami otoczenia.
źródło
/// <reference
scenariusza UMD ? Czy kompilator TypeScript automatycznie wyszuka typy podnode_modules/@types
(tak jak szuka modułów wnode_modules
when'moduleResolution': 'node'
)? Co to oznaczatypings
- obsługuje również zależności otoczenia. Czy jest to w jakikolwiek sposób powiązane?