Nie znaleziono nazwy
Cannot find name 'Missing'.Własne słowa kompilatora. Nietłumaczone — to ten ciąg, który wkleiłeś w wyszukiwarkę.
Kompilator poszukał tej nazwy w każdym widocznym zakresie i nic nie znalazł. Zwykle literówka, niezaimportowany typ albo wartość użyta tam, gdzie należy się typ.
Odtworzenie
type A = MissingBuild potwierdza, że to emituje dokładnie ten kod.
Dlaczego kompilator tak mówi
Typy i wartości mieszkają w osobnych przestrzeniach nazw, a ten błąd często jest szwem między nimi. `const` o nazwie `config` nie jest typem `config`, a prośba o jedno tam, gdzie istnieje drugie, daje dokładnie ten komunikat — dlatego naprawą bywa nie „zdefiniuj to”, lecz „poproś o jego typ”.
Naprawy
- 01
type Missing = string type A = Missing
Zdefiniuj to, jeśli naprawdę jeszcze nie istnieje.
- 02
const config = { retries: 3 } type A = typeof config
Albo sięgnij między przestrzeniami nazw przez `typeof`. Nazwa istniała od początku — jako wartość — a `typeof` to sposób, by poprosić o typ takiej wartości.
Wniosek
Zanim zdefiniujesz brakującą nazwę, sprawdź, czy już nie istnieje po drugiej stronie podziału typ/wartość. `typeof` przechodzi go w jedną stronę, a `keyof` chodzi po tym, co tam znajdziesz.