"skipLibCheck"
Pomija sprawdzanie błędów w plikach deklaracji .d.ts, co przyspiesza kompilację.
Przykład
#{
"compilerOptions": {
"strict": true,
"skipLibCheck": true
}
}Definicja i zastosowanie
#Opcja skipLibCheck wyłącza szukanie błędów wewnątrz wszystkich plików deklaracji .d.ts: tych z node_modules i twoich własnych. Kompilator nadal czyta z nich typy i według nich sprawdza twój kod, ale nie weryfikuje samych deklaracji.
Główne powody włączenia to szybsza kompilacja i uniknięcie błędów, na które nie masz wpływu, np. dwóch paczek @types deklarujących tę samą zmienną globalną albo typów biblioteki napisanych dla innej wersji TypeScriptu.
Ceną jest mniejsza kontrola: literówka we własnym pliku .d.ts przejdzie niezauważona, a typ, którego kompilator nie rozpozna, zachowa się jak any. Mimo to skipLibCheck: true to bardzo popularne ustawienie, obecne m.in. w pliku tworzonym przez tsc --init.
Składnia
#"skipLibCheck": trueWięcej przykładów
#// src/types/legacy.d.ts
declare function formatPrice(value: number): Strin
// Bez skipLibCheck: Cannot find name 'Strin'. Did you mean 'String'?
// Ze skipLibCheck: brak błędu
// src/app.ts
const label = formatPrice(49)
label.toFixedd(2)
// też bez błędu, bo nieznany typ Strin działa jak anyDobre praktyki
#- W aplikacjach zostaw
skipLibCheckwłączone. Jeśli piszesz własne pliki.d.ts, sprawdzaj je od czasu do czasu kompilacją bez tej opcji, np. w CI. - Gdy po aktualizacji pakietów pojawiają się błędy w plikach z
node_modules,skipLibCheckje ukryje. Warto jednak sprawdzić, czy w projekcie nie ma dwóch różnych wersji tej samej paczki@types.
Powiązane hasła
#- declare i pliki .d.tsOpisywanie typów czegoś, co istnieje poza twoim kodem TypeScript: zmiennych globalnych, bibliotek JavaScript i modułów.
- "declaration"Generuje pliki .d.ts z typami obok skompilowanego JavaScriptu.
- "include" i "exclude"Które pliki kompilator bierze pod uwagę, a które pomija.
- "strict"Włącza zestaw najważniejszych, rygorystycznych sprawdzeń kompilatora.
Widzisz błąd albo brakuje przykładu? Napisz do nas.