2016-09-03 33 views
40

Mam istniejący projekt, który ma ten wiersz w tsconfig.json:Co robi opcja tsconfig "lib"?

lib:["2016", "DOM"] 

Jaki jest cel tego?

Jedynym informacji udało mi się znaleźć to:

Określ plik biblioteki mają być zawarte w kompilacji. Wymaga TypeScript wersja 2.0 lub nowsza.

Co to oznacza?

Odpowiedz

28

Jest to nowa funkcja maszynopis 2 i tak nadal brakuje dokumentacji, ale można o tym przeczytać w What's new in Typescript 2.0:

z --lib można określić listę wbudowanych API grup deklaracji , którą możesz dołączyć do swojego projektu. Na przykład, jeśli chcesz, aby środowisko wykonawcze obsługiwało Map, Set i Promise (np. większość dzisiejszych przeglądarek), po prostu dołącz --lib es2015.collection, es2015.promise. Podobnie możesz wykluczyć deklaracje, których nie chcesz uwzględnić w projekcie, np. . DOM jeśli pracujesz nad projektem węzła za pomocą --lib es5, es6.

Istnieje również lista obsługiwanych API groups i bardzo krótki przykład w tym łączu.

+0

dziękuję, czy możesz podać prosty przykład _built-in deklaracji API groups_? Czy jest to biblioteka polyfills? –

+0

Nie jestem pewien co masz na myśli, twoje pytanie ma przykład, również w linku pod warunkiem, że mają przykład: '" lib ": [" es5 "," es2015.promise "]'. Innym celem jest użycie 'es5', ale użycie funkcji' es6': '" lib ": [" es6 "," dom "]' –

+5

Miałem na myśli, że kiedy określę "lib": ["es5"], robi to oznacza po prostu, że mogę używać typów 'es5' w' ts' narzekających na kompilator, czy też niektóre rodzaje wypełnień będą dostarczane przez 'tsc'? –