Spróbujmy sprawdzić pojedyncze moduły. Kiedy sprawdzałem Google, nie ma bezpośredniego kontekstu.
Zasadniczo oznacza to, że pozwalasz Typescript na kompilowanie modułów w izolacji.
Ale pochodzi z Typescript i ma coś wspólnego z tym, że Typescript preferuje moduły zamiast przestrzeni nazw.
Moduły są również zależne od modułu ładującego (takiego jak CommonJs / Require.js) lub środowiska wykonawczego, które obsługuje moduły ES. Moduły zapewniają lepsze ponowne wykorzystanie kodu, silniejszą izolację i lepszą obsługę narzędzi do tworzenia pakietów.
Źródło 1
Korzystając z projektu maszynopisu create-react-app, powinieneś mieć zainstalowaną maszynę do pisania i ts-jest (lub aplikacja create-react-app powinna obsługiwać zależności w zależności od tego, czy wyrzuciłeś aplikację, czy nie).
Zawiera również ts-jestinformacje na ten temat:
Domyślnie ts-jest używa kompilatora TypeScript w kontekście projektu (Twojego), z pełnym sprawdzaniem typu i funkcjami. Ale można go również użyć do skompilowania każdego pliku osobno , co TypeScript nazywa „izolowanym modułem”. To właśnie robi opcja isolatedModules (która domyślnie ma wartość false).
Źródło 2
Jak tylko użyjesz exportpolecenia, tworzysz moduł z tego, co jest eksportowane.
Jeśli używasz ts-jest, możesz dodać te ustawienia bez wpływu na inne moduły, z których będzie się składać aplikacja create-reagent.
"ts-jest": {
"isolatedModules": false
}
I sprawdź stronę ts-jest (drugie źródło) dla profesjonalistów i przeciwników.
importlubexportwtedy ten plik jest modułem ES6. Twój najlepszy przykład jest problematyczny, ponieważitnie jest nigdzie zdefiniowany, w architekturze modułowej musiałbyśitskądś zaimportować