|
|
Opublikowano 22.10.2018 17:21:45
|
|
|

W standardzie ECMAscrip{filtering}t 2015, Javascrip{filtering}t dodaje koncepcję modułów. Typecrip{filter}t również podąża za tą koncepcją.
1. Import i eksport modułów
Moduły są wykonywane w swoim własnym zakresie, a nie w skali globalnej; Oznacza to, że zmienne, funkcje, klasy itp. zdefiniowane w module nie są widoczne poza modułem, chyba że wyraźnie je wyeksportujesz za pomocą jednego z eksportów. Z drugiej strony, jeśli chcesz używać zmiennych, funkcji, klas, interfejsów itd. eksportowanych z innych modułów, musisz je zaimportować, korzystając z jednego z importów.
Moduły deklarują same siebie. W Typescrip{filter}t relacja między dwoma modułami ustalana jest poprzez import i eksport na poziomie plików. Oto podstawowy przykład:
animal.ts
app.ts
W powyższym przykładzie Animal-like jest deklarowany w animal.ts i eksportowany przez eksport. W app.ts określ względną ścieżkę pliku i importuj ją, aby użyć klasy Animal.
Ponieważ Javascrip{filter}t ma dwie różne metody referencji do modułów, podczas kompilacji do Javascrip{filter}t można określić metodę referencji do skompilowanego modułu za pomocą pliku konfiguracyjnego Typescrip{filtering}t tsconfig.json
Poniżej przedstawiono zawartość pliku Javascrip{filter}t skompilowanego w różny sposób
Commonjs
AMD
2. Zmiana nazw importu i eksportu
Nazwa wewnętrznego obiektu, który jest domyślnie używany podczas importu i eksportu modułów. Typescrip{filter}t obsługuje także zmiany nazw przed i po wyrzucie. Zmodyfikuj powyższy przykład
animal.ts
app.ts
Podczas importu i eksportu moduły są przemianowane za pomocą słowa kluczowego as.
Warto tu zauważyć, że gdy eksportowany moduł zostanie przemianowany, nazwa modułu przed importem powinna być taka sama jak nazwa wyeksportowanego przemianowanego modułu, w przeciwnym razie kompilator wyświetli komunikat o błędzie. Na przykład, jeśli eksportowany moduł zostanie przemianowany na ANI, nazwa modułu przed słowem kluczowym as musi brzmieć ANI podczas importu tego modułu do innego app.ts pliku.
Alternatywnie, jeśli nie znasz nazwy importowanego modułu, możesz zastąpić ją znakiem *
W powyższym przykładzie, jeśli zmienisz nazwy wszystkich modułów zastąpionych znakiem * na animal_module, możesz uzyskać dostęp do całej zawartości wyeksportowanej z modułu przez animal_module obiekt.
3. Eksportuj i eksportuj wiele obiektów
Zazwyczaj w module definiuje się wiele typów obiektów, które następnie eksportuje się razem. W imporcie może też być więcej modułów
animal.ts
app.ts
Podczas eksportu możesz ponownie złożyć obiekt typu, który chcesz wyeksportować, do obiektu JSON, a następnie go wyeksportować. Po zaimportowaniu zawartość może być dostępna za pomocą przemianowanych obiektów modułów.
4. Domyślny eksport
Dla modułu może być tylko jeden domyślny eksport
animal.ts
app.ts
W powyższym przykładzie klasa Animal jest eksportowana za pomocą domyślnego słowa kluczowego. W przeciwieństwie do normalnych importów, przy importowaniu domyślnych modułów eksportowych możesz bezpośrednio określić nazwę importowanego modułu bez zamykania go w nawiasach z {}.
5. Moduł dynamicznego obciążenia
Ponieważ w Javascrip{filter}t istnieją dwa sposoby ładowania modułów: CommonJS i AMD. Używając Typescrip{filter}t, musisz pisać różny kod w zależności od konfiguracji końcowej kompilacji, aby wygenerować Javascrip{filter}t.
Plik modułu animal.ts
Referencja do drogi CommonJS:
app.ts
Cytat z AMD metody:
app.ts
|
Poprzedni:Narzędzie do pobierania kodu aktywacyjnego BonusCloud [z kodem źródłowym]Następny:Raport nowicjusza, jak MB to zdobył?
|